login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Alleen de laatste rij wordt opgeslagen met update query en array's

Offline HoTdOg - 20/07/2006 10:51 (laatste wijziging 20/07/2006 10:53)
Avatar van HoTdOgNieuw 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.

  1. <?php
  2.  
  3. for ($i = 0; isset ($_POST['id_' . $i]) && ($_POST['art_prijs_' . $i]) ; $i++)
  4.  
  5. {
  6. $inserts = "UPDATE `af_2006` SET
  7.  
  8. `art_prijs` ='" . $_POST['art_prijs_' . $i] . " ' WHERE id = '" . $_POST['id_' . $i] . "' ";
  9. $inserts .= !isset ($_POST['id_' . ($i + 1)]) ? '' : ',';
  10. }
  11. if
  12.  
  13. (mysql_query ($inserts))
  14. {
  15. echo 'query succesvol toegevoegd:<br />';
  16. echo $inserts;
  17. }
  18. else
  19. {
  20. echo 'query niet uitgevoerd:<br />';
  21. echo $inserts;
  22. }
  23. ?>


Als ik een

  1. <?php echo '<pre>';
  2. print_r($_POST);
  3. echo '</pre>';
  4. 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?

6 antwoorden

Gesponsorde links
Offline marten - 20/07/2006 10:58
Avatar van marten Beheerder je for lus is niet goed......

misschien kan je de uitleg daarvan nog eens bekijken?

je controleert op wanneer dat id is gezet?

ik zou zelf zoiets doen

  1. <?php
  2. for ($i = 0; $hoogsteid ; $i++)
  3. ?>

Offline HoTdOg - 20/07/2006 11:23 (laatste wijziging 20/07/2006 11:23)
Avatar van HoTdOg Nieuw lid Ik moet dus eigenlijk vanuit het formulier waar de prijzen bewerkt worden een telling mee laten gaan naar de verwerking waarbij het laatste id nummer wordt gegeven en die verwerken in de for lus als ik het begrijp.
Enige idee hoe dat ongeveer gaat?
Offline marten - 20/07/2006 11:24
Avatar van marten Beheerder zou je je formulier dan eens op www.plaatscode.be willen zetten? en je hele verwerkingsscript?

let op passworden enzo!
Offline HoTdOg - 20/07/2006 11:47
Avatar van HoTdOg Nieuw lid Hier is de dump te zien.

http://www.plaatscode.be/1425/

Alvast dank voor je hulp!
Offline ikkedikke - 20/07/2006 15:11
Avatar van ikkedikke PHP expert je overschrijft nu een X aantal keer je variabele maar pas na de lus voer je die uit.
je moet mysql_query() binnen je loop zetten.
Offline HoTdOg - 20/07/2006 15:29 (laatste wijziging 20/07/2006 15:31)
Avatar van HoTdOg Nieuw lid Nou zie ik het ook.... Zal wel te warm zijn denk ik? Alhoewel het hier bij de airco te doen is.
Bedankt voor je heldere kijk!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.225s