controle voor insert
Ik wil graag eerst een controle doen of de ingevulde gegevens er al inzitten, zo niet deze toevoegen, indien al aanwezig updaten
Ik heb hetvolgende maar de insert werkt gewoon niet meer vanaf ik de code aan de //++++ tekens heb toegevoegd
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
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
<?PHP
$query = mysql_query("SELECT categorie_id_elek AS id, naam, sapnr, beschrijving, foto, basis_eenheid, bestel_eenheid, inhoud FROM bestel_elek_producten WHERE categorie_id_elek = " . $_GET['categorie_id_elek']);
while($x = mysql_fetch_array($query)) {
echo ('<tr><th bgcolor="#CCCCCC">'.$x['sapnr'].'</th>
<th bgcolor="#CCCCCC">'.$x['naam'].'</th>
<th bgcolor="#CCCCCC" width="60" height="60">'.$x['foto'].'</th>
<th bgcolor="#CCCCCC">'.$x['basis_eenheid'].'</th>
<th bgcolor="#CCCCCC">'.$x['bestel_eenheid'].'</th>
<th bgcolor="#CCCCCC">'.$x['inhoud'].'</th>
<th bgcolor="#CCCCCC"><form action="'. $PHP_SELF.'" method="post">
<input type="text" name="aantal" value="1" size="1" maxlength="2">
<input type="hidden" name="sapnr" value="'.$x['sapnr'].'">
<input type="hidden" name="productnaam" value="'.$x['naam'].'">
<input type="hidden" name="basis_eenheid" value="'.$x['basis_eenheid'].'">
<input type="hidden" name="bestel_eenheid" value="'.$x['bestel_eenheid'].'">
<input type="hidden" name="ploegnummer" value="'. $_SESSION["ploegnummer"] .'">
<input type="hidden" name="inhoud" value="'.$x['inhoud'].'">
<input type="submit" name="form_van" value="Voeg Toe">
</form></th>');
}
//+++++++++++++++++++++++++++
$res1= mysql_query("SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$aantal = $x2['aantal'];
$sapnr = $x['sapnr'];
}
if ($aantal and $sapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = $aantal ";
$update.="WHERE ploegnummer ='". $_SESSION["ploegnummer"]."' ";
$update.="AND sapnr = $sapnr";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif($aantal and $sapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (wagentje_id_elek, ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('', '$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
$query = mysql_query("SELECT categorie_id_elek AS id, naam, sapnr, beschrijving, foto, basis_eenheid, bestel_eenheid, inhoud FROM bestel_elek_producten WHERE categorie_id_elek = " . $_GET['categorie_id_elek']);
while($x = mysql_fetch_array($query)) {
echo ('<tr><th bgcolor="#CCCCCC">'.$x['sapnr'].'</th>
<th bgcolor="#CCCCCC">'.$x['naam'].'</th>
<th bgcolor="#CCCCCC" width="60" height="60">'.$x['foto'].'</th>
<th bgcolor="#CCCCCC">'.$x['basis_eenheid'].'</th>
<th bgcolor="#CCCCCC">'.$x['bestel_eenheid'].'</th>
<th bgcolor="#CCCCCC">'.$x['inhoud'].'</th>
<th bgcolor="#CCCCCC"><form action="'. $PHP_SELF.'" method="post">
<input type="text" name="aantal" value="1" size="1" maxlength="2">
<input type="hidden" name="sapnr" value="'.$x['sapnr'].'">
<input type="hidden" name="productnaam" value="'.$x['naam'].'">
<input type="hidden" name="basis_eenheid" value="'.$x['basis_eenheid'].'">
<input type="hidden" name="bestel_eenheid" value="'.$x['bestel_eenheid'].'">
<input type="hidden" name="ploegnummer" value="'. $_SESSION["ploegnummer"] .'">
<input type="hidden" name="inhoud" value="'.$x['inhoud'].'">
<input type="submit" name="form_van" value="Voeg Toe">
</form></th>');
}
//+++++++++++++++++++++++++++
$res1= mysql_query("SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$aantal = $x2['aantal'];
$sapnr = $x['sapnr'];
}
if ($aantal and $sapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = $aantal ";
$update.="WHERE ploegnummer ='". $_SESSION["ploegnummer"]."' ";
$update.="AND sapnr = $sapnr";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif($aantal and $sapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (wagentje_id_elek, ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('', '$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
En bij de elseif() ook deze opbouw. Een veel gemaakte, maar ook logische fout. Het lijkt inderdaad best logisch om 'als deze en deze 0 zijn' te doen, maar het moet echt uitgebreid 'als deze is 0 en deze is 0'. Even wennen, maar zodra je het weet is het een eitje :)
Ik heb het geprobeerd zoals je aangeeft maar hij doet nog steeds niets :-(
Het leek me inderdaad logisch zo, maar ja ben nog aan het leren natuurlijk :-)
Ik krijg geen gegevens meer in de database.
Ik heb het ook nog eens even anders gedaan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$res1= mysql_query("SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$aantal = $x2['aantal'];
$sapnr = $x['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
}
if ($aantal > 0 && $sapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif($aantal == 0 && $sapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (wagentje_id_elek, ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('', '$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
$res1= mysql_query("SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$aantal = $x2['aantal'];
$sapnr = $x['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
}
if ($aantal > 0 && $sapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif($aantal == 0 && $sapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (wagentje_id_elek, ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('', '$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
Ik heb het geprobeerd zoals je aangeeft maar hij doet nog steeds niets :-(
Het leek me inderdaad logisch zo, maar ja ben nog aan het leren natuurlijk :-)
Ik krijg geen gegevens meer in de database.
Ik heb het ook nog eens even anders gedaan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$res1= mysql_query("SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$aantal = $x2['aantal'];
$sapnr = $x['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
}
if ($aantal > 0 && $sapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif($aantal == 0 && $sapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (wagentje_id_elek, ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('', '$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
$res1= mysql_query("SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$aantal = $x2['aantal'];
$sapnr = $x['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
}
if ($aantal > 0 && $sapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif($aantal == 0 && $sapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (wagentje_id_elek, ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('', '$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
Probeer eens: if ($aantal >= 0 && $sapnr >= 0){
Want nu als $aantal 0 is gaat hij wel door.
En ik kweet niet wat voor gegevens $aantal of $sapnr. Als je wilt dat als er geen waarde in een van die 2 staat zou ik empty($aantal) gebruiken.
Ik heb ook eens echo $cAantal; gedaan voor if en dan krijg je het laatste aantal dat in de database zit dus dat zal de reden zijn dat deze niet insert
Wat moet daar aan gebeuren om hem wel te laten inserten ?
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$res1= mysql_query("SELECT sapnr, aantal FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$cAantal = $x2['aantal'];
$cSapnr = $x2['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
}
echo $cAantal;
if($cAantal > 0 && $cSapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif
($cAantal == 0 && $cSapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
$res1= mysql_query("SELECT sapnr, aantal FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$cAantal = $x2['aantal'];
$cSapnr = $x2['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
}
echo $cAantal;
if($cAantal > 0 && $cSapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
elseif
($cAantal == 0 && $cSapnr == 0){
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
($cAantal == "0" && $cSapnr == "0"){
maar soms werkt dat bij mijn wel
Ik heb het nu zo gedaan als onderstaand zodat hij een error geeft als sapnr al gegevens bevat maar hoe kan ik er dan voor zorgen dat als hij deze error krijgt hij een update doet ?
Ik heb het veld sapnr UNIQUE gemaakt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$res1= mysql_query("SELECT sapnr , aantal FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$cAantal = $x2['aantal'];
$cSapnr = $x2['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
// echo $cAantal. "<br>";
// echo $cSapnr . "<br>";
}
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
if($cAantal > 0 && $cSapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
} ?>
$res1= mysql_query("SELECT sapnr , aantal FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
while($x2 = mysql_fetch_array($res1)) {
$cAantal = $x2['aantal'];
$cSapnr = $x2['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
// echo $cAantal. "<br>";
// echo $cSapnr . "<br>";
}
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
if($cAantal > 0 && $cSapnr > 0){
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
} ?>
moet je niet eerst je sessie starten bovenaan je pagina voordat je iets met een sessie kan doen?
[ps wat krijg je als je echo $cAantal en $cSapnr doet? (ben ffies benieuwd. kan ik me beter bekijken wat hij presies doet.)]
nog ffies naar je vraag 'hoe kan ik er dan voor zorgen dat als hij deze error krijgt hij een update doet ?' Als je een update gedaan heeft maar het niet doet.. een update doen? of wil je als er geen waardes instaan (niks kan vinden met SELECT) een error (een insert doet ipv update?).
Sorry dat ik zo veel lul of vraag, maar ik probeer het ffies duidelijk voor mezlef te krijgen.
Ik zit jou codes te bekijken, maar je doet [ps wat krijg je als je echo $cAantal en $cSapnr doet? (ben ffies benieuwd. kan ik me beter bekijken wat hij presies doet.)]
nog ffies naar je vraag 'hoe kan ik er dan voor zorgen dat als hij deze error krijgt hij een update doet ?' Als je een update gedaan heeft maar het niet doet.. een update doen? of wil je als er geen waardes instaan (niks kan vinden met SELECT) een error (een insert doet ipv update?).
Sorry dat ik zo veel lul of vraag, maar ik probeer het ffies duidelijk voor mezlef te krijgen.
Als ik echo $cAantal en $cSapnr krijg ik de laatste gegevens die in de database staan.
Ik wil de gegevens bijwerken met update als deze zich al in de database bevinden en anders gewoon inserten als deze nog niet in de database zitten
Ik hoop dat ik nu een beetje duidelijker ben :-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$res1= mysql_query("SELECT sapnr , aantal FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
if(mysql_num_rows($res1) > 0) {
while($x2 = mysql_fetch_array($res1)) {
$cAantal = $x2['aantal'];
$cSapnr = $x2['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
} else {
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
$res1= mysql_query("SELECT sapnr , aantal FROM bestel_wagentje_elek WHERE ploegnummer ='". $_SESSION["ploegnummer"]."'");
if(mysql_num_rows($res1) > 0) {
while($x2 = mysql_fetch_array($res1)) {
$cAantal = $x2['aantal'];
$cSapnr = $x2['sapnr'];
$ploegnummer = $_SESSION["ploegnummer"];
$update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";
$update.="WHERE ploegnummer ='". $ploegnummer."' ";
$update.="AND sapnr = '".$sapnr."'";
$updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}
} else {
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
}
?>
met dus:
dit erbij. Checked of de data er al instaat. Zo niet (niet groter als 0, dus ga naar else....-> update)
Snap je het of bedoel je het anders?
Quote:
Ik wil graag eerst een controle doen of de ingevulde gegevens er al inzitten, zo niet deze toevoegen, indien al aanwezig updaten
Wanneer de betrokken gegevens UNIQUE zijn, kun je boel altijd gewoon in de database zetten: INSERT. Het gaat vanzelf fout wanneer de gegevens al aanwezig zijn. Deze foutmelding kun je opvangen met mysql_errno(), zie ook http://dev.mysql.com/doc/refman/4.1/en/error-messages-server.html
In het geval van duplicaat, ga je de boel updaten.
In dit geval heb je slechts 2 queries nodig en een controle op de eventuele foutmelding die je krijgt. Het scheelt je 1 query en je database is beter beschermt tegen datacorruptie.
http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
zo heb je aan 1 query genoeg
Gewijzigd op 01/01/1970 01:00:00 door joop
FOUT: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON DUPLICATE KEY UPDATE aantal =' at line 1
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?PHP
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$query2 .= "ON DUPLICATE KEY UPDATE aantal = $aantal ";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
?>
$query2="INSERT INTO bestel_wagentje_elek (ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud) ";
$query2 .= "VALUES ('$ploegnummer', '$productnaam', '$sapnr', '$aantal', '$basis_eenheid', '$bestel_eenheid', '$inhoud')";
$query2 .= "ON DUPLICATE KEY UPDATE aantal = $aantal ";
$result = mysql_query($query2) or die ("FOUT: " . mysql_error());
?>
nog een spatie voor ON DUPLICATE KEY UPDATE
@Joop: Bedankt! Deze kende ik niet, weer wat geleerd.
volgens mij doe ik iets verkeerd want het wil toch niet lukken met die spatie hoor :-(
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
misschien ligt het aan je mysql versie. vanaf 4.1.0 kan je ON DUPLICATE KEY UPDATE gebruiken
Hoe kan ik het dan wel anders oplossen ?
Gewoon een INSERT gebruiken en wanneer dit fout gaat (controleren met een if-constructie op de duplicaat-foutmelding), een UPDATE query de deur uitsturen.