Nieuw lid |
|
Hallo allemaal,
Ik heb een probleem met de volgende actie....
Mijn query bewerkt alleen de laatste record, terwijl hij ze allemaal moet bewerken en updaten.
<?php
for ($i = 0; isset ($_POST['id_' . $i]) && ($_POST['art_prijs_' . $i]) ; $i++)
{
$inserts = "UPDATE `af_2006` SET
`art_prijs` ='" . $_POST['art_prijs_' . $i] . " ' WHERE id = '" . $_POST['id_' . $i] . "' ";
$inserts .= !isset ($_POST['id_' . ($i + 1)]) ? '' : ',';
}
if
(mysql_query ($inserts))
{
echo 'query succesvol toegevoegd:<br />';
echo $inserts;
}
else
{
echo 'query niet uitgevoerd:<br />';
echo $inserts;
echo mysql_error ();
}
?>
<?php for ($i = 0; isset ($_POST['id_' . $i]) && ($_POST['art_prijs_' . $i]) ; $i++) { $inserts = "UPDATE `af_2006` SET `art_prijs` ='" . $_POST['art_prijs_' . $i] . " ' WHERE id = '" . $_POST['id_' . $i] . "' "; $inserts .= !isset ($_POST['id_' . ($i + 1)]) ? '' : ','; } if { echo 'query succesvol toegevoegd:<br />'; } else { echo 'query niet uitgevoerd:<br />'; } ?>
Als ik een
<?php echo '<pre>';
print_r($_POST);
echo '</pre>';
echo '<hr />'; ?>
doe om te zien welke waarden er doorgegeven worden is dat correct en krijg ik de onderstaande lijst
Array
(
[fac_id] => 5555
[id_0] => 29200
[art_prijs_0] => 23.85
[id_1] => 29201
[art_prijs_1] => 25.05
[id_2] => 29202
[art_prijs_2] => 28.20
enz enz.
)
Hieronder nog een echo van de query waarin hij alleen de laatste rij bewerkt.
UPDATE `af_2006` SET `art_prijs` ='1.10 ' WHERE id = '29409'
Hij moet dus alle prijzen updaten i.p.v. alleen de laatste.
Iemand een idee?
|