login  Naam:   Wachtwoord: 
Registreer je!
 Forum

gebruikerstatus update

Offline Clemens32 - 13/09/2006 08:17
Avatar van Clemens32PHP interesse http://www.plaatscode.be/2609/

Ik vermoed zelf dat het komt omdat alles binnen de whilelus valt, maar weet niet hoe ik het anders zou moeten doen.

Als ik de status van iemand verander wordt de status van iedereen veranderd, maar als ik het goed zie, maakt het niet uit in welke status ik het veranderd, het wordt altijd 0.

Kan iemand mij vertellen hoe ik dit kan oplossen?
Alvast bedankt.

6 antwoorden

Gesponsorde links
Offline MechaVore - 13/09/2006 10:34
Avatar van MechaVore Gouden medaille

PHP gevorderde
Je moet niet controleren op $rij['klant_id'] maar op $_POST['id'], je geeft dat hidden veld namelijk het id mee.. Ook zou ik die query niet in de while lus zetten omdat hij nu meerdere keren wordt uitgevoerd dan nodig is..
Offline Clemens32 - 13/09/2006 13:08
Avatar van Clemens32 PHP interesse @MechaVore
Die $_POST['id'] begrijp ik, je bedoeld in die query met WHERE id= toch?
Maar hoe kan ik het dan maken zodat die updatequery buiten de while lus zit?
En wat bedoel je met dubbele post?
Offline MechaVore - 13/09/2006 13:13
Avatar van MechaVore Gouden medaille

PHP gevorderde
Met dubbelpost bedoel ik dat ik per ongeluk 2x hetzelfde bericht gepost heb.

De update query moet je buiten de while doen. omdat je het maar een keer wilt updaten. nu haal je de query uit de database en gaat hij alle rijen langs dmv de while lus. als je 10 rijen in de database hebt staan, zal hij ook 10x updaten. dat is niet de bedoeling en daarom zou je onderstaand stukje code, buiten de while lus zetten.
ik zelf zou het voor de query zelf zetten zodat je het eerst update en vervolgens weer selecteerd en daardoor de meest nieuwe data in de query hebt zitten..

  1. <?
  2. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  3. $sql = "UPDATE klant SET status = '0' WHERE klant_id ='".$rij['klant_id']."'";
  4. $resultaat = mysql_query($sql) or die (mysql_error());
  5. }
  6. ?>
Dit moet dus in ieder geval buiten de while lus..

Offline Clemens32 - 13/09/2006 13:28
Avatar van Clemens32 PHP interesse http://www.plaatscode.be/2611/

Ik heb nu bovenstaande staan.
Nu gebeurt er natuurlijk nog niks met $resultaat waardoor de update niet gedaan wordt (dat is in ieder geval het idee dat ik heb), maar waar moet ik dan die if($resultaat) { // geupdate } else { // foutje bedankt } neerzetten?
Offline Gerard - 13/09/2006 14:18
Avatar van Gerard Ouwe rakker Clemens, als ik naar jouw code kijk zie ik dat je de status van een user wilt updaten naar een bepaalde waarde en dus niet altijd op 0 wilt zetten. Je kan dus beter wat kleine dingen veranderen.

Zoals altijd heb ik natuurlijk mijn ideetjes weer eens voor je uitgewerkt 
http://www.pastebin.be/2666/

Ik heb de code zelf niet kunnen testen. Mocht je aanpassingen moeten maken omdat ik foutjes heb gemaakt ofzo dan laat het even weten. Neem er anders gewoon een voorbeeldje aan.
Offline Clemens32 - 13/09/2006 17:22
Avatar van Clemens32 PHP interesse Hee Proximus,

Zoals altijd weer hartelijk bedankt voor je reaktie.
Dit ziet er inderdaad goed uit.
Nu wil mijn klant het allemaal weer anders hebben, maargoed.
In ieder geval erg bedankt voor je voorbeeld en ik denk dat ik er nog wel iets aan heb.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s