login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zelfde waarde bij while

Offline Nakain - 12/01/2007 02:15 (laatste wijziging 13/01/2007 00:14)
Avatar van NakainOnbekend Hoi..

Betere titel kon ik ni verzinne  

Duuuus..

Ik heb een pagina, waarop ik gegevens uit een database haal, dit door middel van een while-loop. Op elke rij heb ik een knop gezet 'Veranderen' en 'Verwijderen'. Als je op 'Veranderen' of 'Verwijderen' klikt, is het de bedoeling dat het enkel de gevraagde rij wijzigt of verwijderd. Dit doet hij dus niet, wanneer ik op 'Veranderen' klik verwerkt hij de gegevens, maar verder gebeurd er niets, ook geen error. Als ik de meegestuurde waarden echo dan krijg ik de gegevens van de laatste rij te zien, dus het moet gebeuren voor er gesubmit word.. Iemand een idee? 

  1. <?
  2. $query= mysql_query("SELECT * FROM table WHERE unit='$obj->unit' ORDER BY username ASC, date DESC, time DESC") or die(mysql_error());
  3. while ($get = mysql_fetch_object($query)) {
  4. $status = $get->status;
  5. $username = $get->username;
  6. $level = $get->level;
  7. ?>
  8. <tr>
  9. <td width="30%"><a href="../profile.php?pd=<? echo $get->pid; ?>"><? echo $username; ?></a></td>
  10. <td width="30%">
  11. <input type="hidden" name="get_pid" value="<? echo $get->pid; ?>">
  12. <input type="hidden" name="get_level" value="<? echo $level; ?>">
  13. <input class="button" type="submit" name="update" value="Verander" />&nbsp;<input class="button" type="submit" name="delete" value="Verwijder" />
  14. </td>
  15. </tr>
  16. <?
  17. }
  18. ?>

14 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 12/01/2007 09:15
Avatar van Kr4nKz1n Onbekend Ik zou het niet weten zo vroeg op de ochtend.

Want het is normaal dat hij de laatste pakt want je noemt ze allemaal get_pid, get_level en de knoppen heten allemaal update en delete.
Offline Abbas - 12/01/2007 09:34
Avatar van Abbas Gouden medaille

Crew .NET
ik denk dat je query verkeerd is...

  1. <?
  2. $query = mysql_query("SELECT * FROM table WHERE unit='" . $obj->unit . "' ...


Ik kan me ook vergissen natuurlijk  
Offline Nakain - 12/01/2007 09:43
Avatar van Nakain Onbekend Je hebt je jammer genoeg vergist ja  
Offline Xan - 12/01/2007 09:43 (laatste wijziging 12/01/2007 09:45)
Avatar van Xan HTML interesse Ik heb even wat voor je bedacht:

  1. <?
  2.  
  3. $query= mysql_query("SELECT * FROM table WHERE unit='$obj->unit' ORDER BY username ASC, date DESC, time DESC") or die(mysql_error());
  4.  
  5. $records = mysql_num_rows($query);
  6.  
  7. for($i = 1; $i <= $records; $i++){
  8.  
  9. if(IsSet($_POST['update'.$i])){
  10.  
  11. echo $i.'word gewijzigd <br />';
  12.  
  13. }elseif(IsSet($_POST['delete'.$i])){
  14.  
  15. echo $i.'word delete <br />';
  16. }
  17. }
  18. while ($get = mysql_fetch_object($query)) {
  19. $status = $get->status;
  20. $username = $get->username;
  21. $level = $get->level;
  22. $id = $get->id;
  23. ?>
  24.  
  25. <tr>
  26. <td width="30%"><a href="../profile.php?pd=<? echo $get->pid; ?>"><? echo $username; ?></a></td>
  27. <td width="30%">
  28. <form method="post" action="">
  29. <input type="hidden" name="get_pid" value="<? echo $get->pid; ?>" />
  30.  
  31. <input type="hidden" name="get_level" value="<? echo $level; ?>" />
  32.  
  33. <input class="button" type="submit" name="update<?=$id;?>" value="update<?=$id;?>" />
  34. &nbsp;
  35. <input class="button" type="submit" name="delete<?=$id;?>" value="delete<?=$id;?>" />
  36. </form>
  37. </td>
  38. </tr>
  39.  
  40. <?
  41. }
  42. ?>


Ik hoop dat je het begrijpt, en dat je er wat mee kan.

Je moet hem nog wel zelf even verder uitwerken.
Offline xSc - 12/01/2007 09:52
Avatar van xSc Onbekend Gebruik ipv mysql_fetch_object() de functie mysql_fetch_assoc(). Die is veel sneller.
Offline Xan - 12/01/2007 09:57
Avatar van Xan HTML interesse Ja dat weet ik, maar hij had het zo al in zijn voorbeeld staan.
Offline Nakain - 12/01/2007 10:14
Avatar van Nakain Onbekend Wat ik nu heb is dat hij enkel de eerste rij en de 3e rij wilt aanpassen/verwijderen  
Offline Xan - 12/01/2007 10:24
Avatar van Xan HTML interesse code...
Offline Nakain - 12/01/2007 10:47 (laatste wijziging 13/01/2007 00:15)
Avatar van Nakain Onbekend
  1. <?
  2. $query= mysql_query("SELECT * FROM member WHERE unit='" . $obj->unit . "' ORDER BY username ASC, date DESC, time DESC") or die(mysql_error());
  3. $records = mysql_num_rows($query);
  4.  
  5. for($i = 1; $i <= $records; $i++){
  6.  
  7. if(IsSet($_POST['update'.$i])){
  8.  
  9. echo $i.'word gewijzigd <br />';
  10.  
  11. }elseif(IsSet($_POST['delete'.$i])){
  12.  
  13. echo $i.'word delete <br />';
  14. }
  15. }
  16. while ($get = mysql_fetch_object($query)) {
  17. $status = $get->status;
  18. $username = $get->username;
  19. $level = $get->level;
  20. $pid = $get->pid;
  21. ?>
  22. <tr>
  23. <td width="30%"><a href="../profile.php?pd=<? echo $get->pid; ?>"><? echo $username; ?></a></td>
  24. <td width="30%">
  25. <input type="hidden" name="get_pid" value="<? echo $pid; ?>">
  26. <input type="hidden" name="get_level" value="<? echo $level; ?>">
  27. <input class="button" type="submit" name="update<?=$pid;?>" value="Verander" />&nbsp;<input class="button" type="submit" name="delete<?=$pid;?>" value="Verwijder" />
  28. </td>
  29. </tr>


Heb het ook al op een andere manier geprobeerd, gebaseerd op jou code, maar deze gaf hetzelfde weer..
Offline Kr4nKz1n - 12/01/2007 11:07
Avatar van Kr4nKz1n Onbekend Gebruik de post`s niet zo !!

  1. <?
  2. $query= mysql_query("SELECT * FROM member WHERE unit='" . $obj->unit . "' ORDER BY username ASC, date DESC, time DESC") or die(mysql_error());
  3. $records = mysql_num_rows($query);
  4.  
  5. for($i = 1; $i <= $records; $i++){
  6.  
  7. if(IsSet($_POST['update'][$i])){
  8.  
  9. echo $i.'word gewijzigd <br />';
  10.  
  11. }elseif(IsSet($_POST['delete'][$i])){
  12.  
  13. echo $i.'word delete <br />';
  14. }
  15. }
  16. while ($get = mysql_fetch_object($query)) {
  17. $status = $get->status;
  18. $username = $get->username;
  19. $level = $get->level;
  20. $pid = $get->pid;
  21. ?>
  22. <tr>
  23. <td width="30%"><a href="../profile.php?pd=<? echo $get->pid; ?>"><? echo $username; ?></a></td>
  24. <td width="30%">
  25. <input type="hidden" name="get_pid" value="<? echo $pid; ?>">
  26. <input type="hidden" name="get_level" value="<? echo $level; ?>">
  27. <input class="button" type="submit" name="update[<?=$pid;?>]" value="Verander" />&nbsp;<input class="button" type="submit" name="delete[<?=$pid;?>]" value="Verwijder" />
  28. </td>
  29. </tr>

Dan zo.
Offline Nakain - 12/01/2007 11:13
Avatar van Nakain Onbekend Blijft hetzelfde..
Offline Kr4nKz1n - 12/01/2007 11:25
Avatar van Kr4nKz1n Onbekend Ja ik heb hem alleen netter gemaakt.

  1. <?
  2. $query= mysql_query("SELECT * FROM member WHERE unit='" . $obj->unit . "' ORDER BY username ASC, date DESC, time DESC") or die(mysql_error());
  3. $records = mysql_num_rows($query);
  4. ?>

Dit is ook erg slordig en dan die for-loop erna. Als je 35 regels hebt, krijg je dus 1 t/m 35, terwijl er ondertussen al 3 berichten zijn verwijdert, dus het id loopt t/m 38.
Offline Nakain - 12/01/2007 11:57
Avatar van Nakain Onbekend Ja, maar nu heb ik de oplossing nog niet..  
Offline Kr4nKz1n - 12/01/2007 12:05 (laatste wijziging 12/01/2007 12:06)
Avatar van Kr4nKz1n Onbekend
  1. <input type="button" value="Verwijder" onClick="window.location='.php?pagina=verwijder&id=<? echo $get->pid; ?>'">
  2. <input type="button" value="Wijzig" onClick="window.location='.php?pagina=wijzig&id=<? echo $get->pid; ?>'">


Maak links van buttons.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.235s