Toon posts:

[php/mysql] Loop voor mysql update

Pagina: 1
Acties:
  • 179 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
ik heb 27 waardes hoe update ik deze want ik krijg zoals ik het nu heb steeds een duplicate error

kan iemand me helpen

PHP:
1
2
3
4
5
6
<?
 
$sql ="UPDATE klanten_waarde SET waardesoort='$waardenaam', waarde='$waarde', maxres='$maxres', minres='$minres' where klantid='$id'"; 
$result = @mysql_query($sql) or die(mysql_error()); 
while(($row = mysql_fetch_row($results)) &amp;&amp; ($count++<27)); 
?>




THNX

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Bekijk je code eens,

Je updat eenmaal iets, daarna ga jee een loop uitvoeren waar je 27x resultaten probeer op te vragen..

Dus, het update moet in je loop gezet worden. Ik zou een keer langs www.phpfreakz.com fietsen om wat basics op te doen.

Verwijderd

Topicstarter
deze waarden moeten in een querie worden geupdate.

| waardesoort | waarde
|----------------------------------------------
| FILE_MODE_RGB_COLOR | 0
|----------------------------------------------
| FILA_MODE_RGB_COLOR | 4
|----------------------------------------------
| FILZ_MODE_RGB_COLOR | 5

dus

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Op maandag 25 februari 2002 11:08 schreef HJ het volgende:
dus
dus wat? Heb je uberhaubt wel gelezen wat ik hierboven geschreven heb??

Verwijderd

Topicstarter
Op maandag 25 februari 2002 10:59 schreef HGM het volgende:
Bekijk je code eens,

Je updat eenmaal iets, daarna ga jee een loop uitvoeren waar je 27x resultaten probeer op te vragen..

Dus, het update moet in je loop gezet worden. Ik zou een keer langs www.phpfreakz.com fietsen om wat basics op te doen.
Je begrijpt niet helemaal wat ik bedoel denk ik

Verwijderd

Die query moet wel in de loop uitgevoerd worden.

Verwijderd

Topicstarter
lief...zou je een voorbeeld kunnen geven?

Verwijderd

mist er } bij die while(($row = mysql_fetch_row($results))

Verwijderd

.

Verwijderd

Op maandag 25 februari 2002 11:46 schreef woz het volgende:

[..]

<?php

$sql ="UPDATE klanten_waarde SET waardesoort='$waardenaam', waarde='$waarde', maxres='$maxres', minres='$minres' where klantid='$id'"; $result = @mysql_query($sql) or die(mysql_error()); while(($row = mysql_fetch_row($results))
{
&& ($count++<27));
}
?>

Verwijderd

Ik heb heel weinig in PHP gedaan, dus d'r zal vast wel iets fout zijn, maar dit is in principe hoe het zou moeten.
PHP:
1
2
3
4
5
6
7
<?
while ($count++ < 27) {
    $sql ="UPDATE klanten_waarde SET waardesoort='$waardenaam', waarde='$waarde', maxres='$maxres', minres='$minres' where klantid='$id'"; 

    $result = @mysql_query($sql) or die(mysql_error()); 
} 
?>


Alle update waarden zullen ook in de loop aangepast moeten worden, anders heeft het geen zin om de query per record uit te voeren.

Verwijderd

Topicstarter
ik krijg nu steeds Duplicate entry "waarde" for key 1

Verwijderd

Heb je ingesteld dat die velden uniek moet zijn?

Verwijderd

Topicstarter
Dat maakt voor update toch niet uit???

Keyname Unique Field Action
sirik Yes waardesoort Drop
sirik Yes klantid Drop

Verwijderd

umm, zou je niet in de while die coutn vervangen door $id?
anders wordt id natuurlijk niet hoger en updat je iedere keer hetzelfde record... of zie ik dat heel verkeerd?

Verwijderd

Op maandag 25 februari 2002 18:51 schreef zellufs het volgende:
umm, zou je niet in de while die coutn vervangen door $id?
anders wordt id natuurlijk niet hoger en updat je iedere keer hetzelfde record... of zie ik dat heel verkeerd?
Dat klopt, alleen snap ik niet dat hij dan een duplicate error krijgt, aangezien het een update query is en geen insert.
Pagina: 1