categorie toevoegen alle users...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jaap V

Jaap V

11/11/2009 10:24:00
Quote Anchor link
Ik heb nu een scriptje gemaakt waarbij je een categorie kan toevoegen aan de tabel categorie...

dit werkt allemaal zoals het hoort te werken...

nu is de categorie gekoppelt aan een andere tabel namelijk cat_regels...
daarin staat het volgende...
id
catnr
klntnr
omschr
date

zoals je ziet staat catnr erin en klntnr...

nu wil ik dus,
zodra een categorie toegevoegd wordt in de tabel categorie...
dat deze ook wordt toegevoegd in cat_regels...
en direct voor alle klanten wordt toegevoegd...
deze klanten kunnen nog wel eens verschillen dus hoor eerst het aantal klanten op te halen...

is er een sql die bijvoorbeeld voor klanten 1 t/m 115 kan toevoegen,
en die 115 is dus afhankelijk van het aantal klanten?
of moet ik hem 115 sql's laten uitvoeren?

hier het stukje script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form method="POST" action="add_cat.php">
<?php
include ("gegevens.php");
 
if(isset($_POST['verzenden'])){
$sql = "INSERT INTO categorie (Naam_cat) VALUES ('".$_POST['Categorie']."')";
$query = mysql_query($sql);
    
     if($query == TRUE) {
      echo "De categorie is met succes toegevoegd!";
     }
     }

     else{

     ?>

        <br>Categorie:<br>
        <input type="text" name="Categorie"><br>
        <input type="submit" name="verzenden" value="Verzenden!">
        </form>
        <?php
}
?>
 
PHP hulp

PHP hulp

16/04/2024 17:09:09
 
Jaron T

Jaron T

11/11/2009 10:58:00
Quote Anchor link
Ik denk dat er idd 115 keer een query uitgevoerd moet worden, Dit zou ik doen in een while loop.

Waarom wil je dit zo doen terwijl het toch bij elke klant hetzelfde is?
Dan hoeft het niet in de database te staan of in ieder geval niet bij elke gebruiker maar in één aparte tabel?
 
Koen

koen

11/11/2009 14:12:00
Quote Anchor link
relationele database?

edit:oeps, las de vraag verkeerd.
maar je wilde dus dat voor elke gebruiker een categorie toegevoegd word? of dat bij de categorie gebruikers worden gevoegd?
Gewijzigd op 01/01/1970 01:00:00 door koen
 
Jaap V

Jaap V

11/11/2009 15:39:00
Quote Anchor link
nou kijk,
in de tabel categorie wordt een categorie toegevoegd,
bijvoorbeeld ip adress server...

deze moet dan voor alle klanten toegankelijk worden,
maar wel allemaal identiek zijn...

daarom zit daar de cat_regels...

daarin staat ook de omschrijving dus bijvoorbeeld:
192.168.1.1

wat ook voor iedere klant identiek is...
en while loop hoe gaat dat dan in zijn werk met 115 verschillende users?
hij meot wel 115 keer anders zijn he...

en met anders bedoel ik een andere klant,
het categorie nummer moet constant 5 zijn bijv...
en de klntnr moet van 1 tot 115 gaan...
met als omschrijving : leeg...
zodat deze later ingevuld kan worden...
dit gebeurt gewoon los van elkaar...
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
 
Jaap V

Jaap V

12/11/2009 09:25:00
Quote Anchor link
ik heb het scriptje wat aangepast...
nu bevat het het volgende al:
de id van de laatste categorie haalt hij op...
en weet dus welke id de vorige was moet er alleen nog id ++ bijzetten ofzo...
zodat hij de nieuwste pakt...

ook heb ik een regel aangemaakt waarbij hij gegevens in de catregels toevoegt...
maar helaas, deze werkt niet naar behoren...
hij zet namelijk niets in die tabel...
fout in de sql?

nu moet daar nog bij dat hij eerst het aantal klanten telt...
en daarna met een soort counter die na elke loop ++ doet dus +1
en zo alle users afgaat,
gaat dit werken zo?
en kan iemand daar even mee helpen?

scriptje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<form method="POST" action="add_cat.php">
<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

include ("gegevens.php");
 
if(isset($_POST['verzenden'])){
$cat   = $_POST['Categorie'];
$sql   = "INSERT INTO categorie (Naam_cat) VALUES ('".$_POST['Categorie']."')" OR DIE mysql_error();
$sql1  = "INSERT INTO catregels (Catnr, Klntnr, Omschr, Date) VALUES ('".$_POST['id']."', 1, Leeg, NOW())" OR DIE mysql_error();
$query = mysql_query($sql);
$query1 = mysql_query($sql1);
 if($query == TRUE) {
      echo "De categorie is met succes toegevoegd!";
     }
     }

     else{
$sql2 = mysql_query("SELECT id FROM categorie ORDER BY id desc limit 0,1");
while($row2 = mysql_fetch_array($sql2)){    
echo $row2['id'] . '<br/>';    

}

     ?>

        <br>Categorie:<br>
        <input type="text"    name="Categorie"><br>
        <input type="hidden"  name="id" value="<?=$row2['id'];?>">
        <input type="submit" name="verzenden" value="Verzenden!">
        </form>
        <?php
}

?>


ik krijg hiermee de http fout 500...
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
 
Justin S

Justin S

12/11/2009 09:33:00
Quote Anchor link
Oké ik vat 'm ff niet. Wat is nu precies de bedoeling en waarom wil je in goedsnaam ál je klanten dezelfde waarden meegeven? Wat is dan nog het nu om dit mee te geven in de database? Kan je net zo goed 1x erin zettten en standaard bij alle klanten echo'en.
 
Jaap V

Jaap V

12/11/2009 09:44:00
Quote Anchor link
Hee Justin,
sorry voor mijn (slechte) uitleg dan.

ik heb het volgens mij al een keer op deze maier toegelicht,
maar probeer het nog even wat beter te doen,
Kijk,
ik loop stage voor een ICT bedrijf,
deze hebben een aantal bedrijven waar hun het netwerk van beheren.

nu kreeg ik als stage opdracht een online database maken om zo alle gegevens makkelijk overal aan te kunnen...

nu heeft bijna ieder bedrijf dezelfde categorie..
bijvoorbeeld ip adress...
deze worden maar zelden aangemaakt,
maar dit hoort toch goed te werken...

dan maak je bijvoorbeeld ip server aan...
dan zet hij voor iedereen als standaard waarde leeg...

vervolgens gaat hij bijvoorbeeld naar klant 1...
daar vult hij ip adress in...
zo ook bij klant 2 en 5 8 en 10...
de rest blijft dus op leeg staan..

ik den kdat het zo wel een heel stuk duidelijker moet zijn,

bedankt voor de hulp
 
Giel

Giel

12/11/2009 09:48:00
Quote Anchor link
1 iemand voegt 1 categorie toe, de rest van die klanten moeten zijn categorie zien.

Oftewel, je gaat gewoon een koppeltabel maken.

groep_ID
klntnr.

Dan zet je bij tabel categorie / regels groep_ID, en kan je de query ophalen met where group =

Is dit niet gemakkelijker? Of begrijp ik je verkeerd?
 
Jaap V

Jaap V

12/11/2009 09:54:00
Quote Anchor link
giel ik snap je even niet,

heg heeft sowiesow niet met de klanten te maken he,
deze gegevens zijn toegangkelijk voor 4 man personleel wat hier werkt,

deze voegen en categorie toe en vervolgens kunnen ze deze zelf weer ophalen,

ik weet verer niet wat het gemakelijkste is...
maar ben nu al erg ver met script,
moet dus alleen die klanten apart toevoegen,

en via de php programmeur hier,
gaf hij me deze tabellen en zo omschreef hij het,
en zo moest het dus worden...

maar is dit wel te realiseren?
en werkt dit gewoon met loops?
met steeds ++ ofzo?
 
Giel

Giel

12/11/2009 09:56:00
Quote Anchor link
Je kan toch bijvoorbeeld 192.168.0.1 koppelen aan een Groep.. En die groep koppelen aan die x aantal personen?
 
Jaap V

Jaap V

12/11/2009 10:03:00
Quote Anchor link
hmm,
in mijn opzicht is dat allemaal lastiger dan wat ik wil proberen?
 
Jaap V

Jaap V

12/11/2009 10:20:00
Quote Anchor link
hier dit is mijn bedoeling:
net dit script gemaakt,,
maar werkt nog niet...
krijg een error 500 melding...

en deze melding:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[Thu Nov 12 10:28:29 2009] [error] [client 127.0.0.1] PHP Parse error:  syntax error, unexpected T_WHILE in C:\\Documents and Settings\\Klant\\Bureaublad\\Desktop\\UsbWebserver\\Root\\categorie\\nieuwecategorie\\Nieuwe map\\add_cat.php on line 18


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<form method="POST" action="add_cat.php">
<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

include ("gegevens.php");
 
 // kijken of er op verzenden is gedrukt + toevoegen in tabel categorie
if(isset($_POST['verzenden'])){
$cat   = $_POST['Categorie'];
$sql   = "INSERT INTO categorie (Naam_cat) VALUES ('".$_POST['Categorie']."')" ;
$query = mysql_query($sql);

// categorie per klant toevoegen, met een while loop...
$aantal = $_POST['aantal'];
$i = 1
while ($i <= $aantal):
    $sql1  = "INSERT INTO catregels (Catnr, Klntnr, Omschr, Date) VALUES ('".$_POST['id']."', $i, Leeg, NOW())";
    $query1 = mysql_query($sql1);
    $i++;
endwhile;


// als het invoegen gelukt is:
 if($query == TRUE) {
      echo "De categorie is met succes toegevoegd!";
     }
     }

// als er nog niet op verzenden is gedrukt:
     else{
// de id van de vorige categorie ophalen
$sql2 = mysql_query("SELECT id FROM categorie ORDER BY id desc limit 0,1");
while($row2 = mysql_fetch_array($sql2)){    
$bla = $row2['id'];
$bla1 = $bla + 1;
echo $bla1 . '<br/>';    
}


// het aantal gebruikers ophalen
$sql3 = mysql_query("SELECT * FROM relatie ");
$aantal = mysql_num_rows($sql3);
echo ($aantal == 1) ? $aantal.' resultaat gevonden' : $aantal.' resultaten gevonden';

     ?>

        <br>Categorie:<br>
        <input type="text"    name="Categorie"><br>
        <input type="hidden"  name="id" value="<?=$bla1?>">
        <input type="hidden"  name="aantal" value=<?=$aantal?>">
        <input type="submit" name="verzenden" value="Verzenden!">
        </form>
        <?php
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
 
Koen

koen

12/11/2009 10:31:00
Quote Anchor link
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$i = 1



je sluit die $i niet af, dus dan kent ie while niet nee. dat is je error

edit: dit staat op regel 18 van je code :P
Gewijzigd op 01/01/1970 01:00:00 door koen
 
Jaap V

Jaap V

12/11/2009 10:35:00
Quote Anchor link
lol klopt,
vergeten haha,
dat heel het script niet meer werkt door een tekentje vergeten. xD

maar hij werkt nu ...
en zegt categorie toegevoegd..
maar hij voert de helft van zijn code nietuit...

bij catregels voegt hij niets toe..
 
Koen

koen

12/11/2009 10:40:00
Quote Anchor link
heeft de catnr, een relatie met het nr in je categorie tabel??
zo ja wat voor?
zo nee, waarom niet?
 
Jaap V

Jaap V

12/11/2009 10:44:00
Quote Anchor link
ja catnr uit catregels is gelijk met id uit categorie...

deze zijn precies hetzelfde...
dit aan de hand van deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// de id van de vorige categorie ophalen
$sql2 = mysql_query("SELECT id FROM categorie ORDER BY id desc limit 0,1");
while($row2 = mysql_fetch_array($sql2)){    
$bla = $row2['id'];
$bla1 = $bla + 1;
echo $bla1 . '<br/>';    
}

?>

hij haalt de laatste id op telt er 1 bij op...
en zet deze bij catnr erin...
+1 omdat bij categorie de id automatisch bepaald wordt...

nu zit volgens mij een foutje in deze sql waardoor hij niets toevoegt in catregels:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// categorie per klant toevoegen, met een while loop...
$aantal = $_POST['aantal'];
$i = 1;
while ($i <= $aantal):
    echo $i;
    $sql1  = "INSERT INTO catregels (Catnr, Klntnr, Omschr, Date) VALUES ('".$_POST['id']."', $i, Leeg, NOW())";
    $query1 = mysql_query($sql1);
     if($query1 == TRUE) {
      echo "De categorie is met succes toegevoegd!";
     }

    
    $i++;
endwhile;

?>


dit denk ik omdat ik de echo $i; erin heb gezet..
en hij gewoon de loop uitvoert omdat hij bij resultaat gewoon 1 2 3 4 5 post..
maar hij voert dus schijnbaar de sql niet uit....
zodra ik OR DIE mysql_error() erachter zet,
doet heel het script niets meer...
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
 
Koen

koen

12/11/2009 10:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// categorie per klant toevoegen, met een while loop...
$aantal = $_POST['aantal'];
$i = 1;
while ($i <= $aantal):
    echo $i;
    $sql1  = "INSERT INTO catregels (Catnr, Klntnr, Omschr, Date) VALUES ('".$_POST['id']."', $i, Leeg, NOW())";
    $query1 = mysql_query($sql1);
     if($query1 == TRUE) {
      echo "De categorie is met succes toegevoegd!";
     }

    
    $i++;
endwhile;

?>

je mag me gek noemen, maar moet je een while loop niet met {} gebruiken in plaats van endwhile?
dus :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// categorie per klant toevoegen, met een while loop...
$aantal = $_POST['aantal'];
$i = 1;
while ($i <= $aantal)
{

    echo $i;
    $sql1  = "INSERT INTO catregels (Catnr, Klntnr, Omschr, Date) VALUES ('".$_POST['id']."', $i, Leeg, NOW())";
    $query1 = mysql_query($sql1);
     if($query1 == TRUE) {
      echo "De categorie is met succes toegevoegd!";
     }

    
    $i++;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door koen
 
Jaap V

Jaap V

12/11/2009 10:53:00
Quote Anchor link
het leek mij ook al een raar script,
had hem zo van het internet...

maar je was nog vergeten : weg te halen achter de while,
daarna doet hij het wel,
maar geeft het zelfde resultaat als de oude manier,
werkt dus nog niet
 
Koen

koen

12/11/2009 10:54:00
Quote Anchor link
loop je script nog eens na op dit soort foutjes?
en als het dan nog niet werkt kijken we verder, oke?
 
Jaron T

Jaron T

12/11/2009 10:58:00
Quote Anchor link
Waarom bereken je op zo'n moeilijke manier je volgende id ..?

Simpele manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$query
= mysql_query("SELECT id+1 AS idpluseen FROM categorie");
$row = mysql_fetch_assoc($query);
echo $row['idpluseen'];
?>


@koen

Een while mag op beide manieren.
Gewijzigd op 01/01/1970 01:00:00 door Jaron T
 
Jaap V

Jaap V

12/11/2009 12:40:00
Quote Anchor link
die id+1 werkt niet...
want hij gaat ze niet tellen...
maar hij kijkt hoevaak id in de tabel voorkomt
en dat is 1 keer...
en geeft daarom altijd 2 als resultaat...

--edit---

ik echo:
echo $aantal;
maar krijg dit als resultaat:
2\"
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.