categorie toevoegen alle users...
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
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
}
?>
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?
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
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
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)
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
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
}
?>
<?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
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.
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
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?
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?
Je kan toch bijvoorbeeld 192.168.0.1 koppelen aan een Groep.. En die groep koppelen aan die x aantal personen?
in mijn opzicht is dat allemaal lastiger dan wat ik wil proberen?
net dit script gemaakt,,
maar werkt nog niet...
krijg een error 500 melding...
en deze melding:
Code (php)
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)
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
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
}
?>
<?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
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
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..
zo ja wat voor?
zo nee, waarom niet?
deze zijn precies hetzelfde...
dit aan de hand van deze code:
Code (php)
1
2
3
4
5
6
7
8
9
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/>';
}
?>
// 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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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;
?>
// 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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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;
?>
// 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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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++;
}
?>
// 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
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
en als het dan nog niet werkt kijken we verder, oke?
Simpele manier:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = mysql_query("SELECT id+1 AS idpluseen FROM categorie");
$row = mysql_fetch_assoc($query);
echo $row['idpluseen'];
?>
$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
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