login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere rijen tegelijk updaten met php (Opgelost)

Offline axelneve - 29/12/2009 18:08
Avatar van axelneveNieuw lid Hallo iedereen,

voor de atletiekvereniging maak ik op dit moment een site, om alle behaalde resultten te verwerken, en vervolgens na het inloggen door een lid, de door hem/.haar behaalve resultate te tonen.

momenteel ben ik bezig met het admin-gedeelte, om de gegevens in te voeren. daarvoor gebruik ik onderstaand script, maar bij het klikken op aanpassen, worden de gegevens niet geupdated.

is er iemand die mij kan helpen bij het vinden van het probleem?

alvast bedankt

Axel Neve

code: http://www.plaatscode.be/138316/

4 antwoorden

Gesponsorde links
Offline lemoinet - 29/12/2009 18:15 (laatste wijziging 29/12/2009 18:19)
Avatar van lemoinet PHP gevorderde $result1=mysql_query($sql1) or die(mysql_error());

dan zal je snel het probleem zien

om het in een keer up te daten

  1. $sql1 = "";
  2. for($i=0;$i<$count;$i++){
  3. $sql1 .="UPDATE " . $tbl_name . " SET Speerwerpen='" . $Speerwerpen[$i] . "', Kogelstoten='" . $Kogelstoten[$i] . "', Hoogspringen='" . $Hoogspringen[$i] . "', Verspringen='" . $Verspringen[$i] . "' WHERE Login='" . $Login[$i] . "';";
  4. }
  5. $result1=mysql_query($sql1);
Offline axelneve - 29/12/2009 19:33 (laatste wijziging 30/12/2009 17:16)
Avatar van axelneve Nieuw lid bedankt voor de tip.
heb het inmiddels toegevoegd aan het script,
ook heb ik het stukje code vervangen.
dan kan ik nu weer verder gaan puzzelen, maar nu weet ik tenminste waar het probleem in zit.

----------
edit

Op het moment heb ik het script als volgt aangepast:

  1. <?php
  2. $host="---"; // Host name
  3. $username="--"; // Mysql username
  4. $password="---"; // Mysql password
  5. $db_name="---"; // Database name
  6. $tbl_name="gegevens"; // Table name
  7.  
  8. // Connect to server and select databse.
  9. mysql_connect("$host", "$username", "$password")or die("cannot connect");
  10. mysql_select_db("$db_name")or die("cannot select DB");
  11.  
  12. $sql="SELECT * FROM $tbl_name";
  13. $result=mysql_query($sql);
  14.  
  15. // Count table rows
  16. $count=mysql_num_rows($result);
  17. ?>
  18. <table width="499" border="0" cellspacing="1" cellpadding="0">
  19. <form name="form1" method="post" action="">
  20. <tr>
  21. <td>
  22. <table width="499" border="0" cellspacing="1" cellpadding="0">
  23.  
  24.  
  25. <tr>
  26. <td align="center"><strong>Login</strong></td>
  27. <td align="center"><strong>Speerwerpen</strong></td>
  28. <td align="center"><strong>Kogelstoten</strong></td>
  29. <td align="center"><strong>Hoogspringen</strong></td>
  30. <td align="center"><strong>Verspringen</strong></td>
  31. </tr>
  32. <?php
  33. while($rows=mysql_fetch_array($result)){
  34. ?>
  35. <tr>
  36. <td align="center" width="150"><? $Login[]=$rows['Login']; ?><? echo $rows['Login']; ?></td>
  37. <td align="center">
  38. <input name="Speerwerpen[]" type="text" id="Speerwerpen" value="<? echo $rows['Speerwerpen']; ?>" size="10" /></td>
  39. <td align="center">
  40. <input name="Kogelstoten[]" type="text" id="Kogelstoten" value="<? echo $rows['Kogelstoten']; ?>" size="10" /></td>
  41. <td align="center">
  42. <input name="Hoogspringen[]" type="text" id="Hoogspringen" value="<? echo $rows['Hoogspringen']; ?>" size="10" /></td>
  43. <td align="center">
  44. <input name="Verspringen[]" type="text" id="Verspringen" value="<? echo $rows['Verspringen']; ?>" size="10" /></td>
  45. </tr>
  46. <?php
  47. }
  48. ?>
  49. <tr>
  50. <td colspan="4" align="center"><input type="submit" name="Submit" value="Submit" /></td>
  51. </tr>
  52. </table>
  53. </td>
  54. </tr>
  55. </form>
  56. </table>
  57. <?php
  58. // Check if button name "Submit" is active, do this
  59. $sql1 = "";
  60. for($i=0;$i<$count;$i++){
  61. $sql1 .="UPDATE " . $tbl_name . " SET Speerwerpen='" . $Speerwerpen[$i] . "', Kogelstoten='" . $Kogelstoten[$i] . "', Hoogspringen='" . $Hoogspringen[$i] . "', Verspringen='" . $Verspringen[$i] . "' WHERE Login='" . $Login[$i] . "';";
  62. }
  63. $result1=mysql_query($sql1) or die(mysql_error());
  64.  
  65. if($result1){
  66. header("location:update_technisch.php");
  67. }
  68. ?>


maar nu krijg ik de volgende Error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';UPDATE gegevens SET Speerwerpen='', Kogelstoten='', Hoogspringen='', Verspringe' at line 1

hoe kan ik deze verhelpen?
Offline kilian - 31/12/2009 14:38
Avatar van kilian Lid Bij PHP is het niet mogelijk om meerdere query's uit te voeren met 1 commando. Dit is ondermeer een beveiliging tegen mysql injection
Offline Tuinman - 06/01/2010 10:10 (laatste wijziging 06/01/2010 10:11)
Avatar van Tuinman Nieuw lid Dit
  1. for($i=0;$i<$count;$i++){
  2. $sql1 .="UPDATE " . $tbl_name . " SET Speerwerpen='" . $Speerwerpen[$i] . "', Kogelstoten='" . $Kogelstoten[$i] . "', Hoogspringen='" . $Hoogspringen[$i] . "', Verspringen='" . $Verspringen[$i] . "' WHERE Login='" . $Login[$i] . "';";
  3. }
  4. $result1=mysql_query($sql1) or die(mysql_error());


moet dit worden

  1. for($i=0;$i<$count;$i++){
  2. $sql1 ="UPDATE " . $tbl_name . " SET Speerwerpen='" . $Speerwerpen[$i] . "', Kogelstoten='" . $Kogelstoten[$i] . "', Hoogspringen='" . $Hoogspringen[$i] . "', Verspringen='" . $Verspringen[$i] . "' WHERE Login='" . $Login[$i] . "';";
  3. $result1=mysql_query($sql1) or die(mysql_error());
  4. }


Nou voert hij namelijk elke keer een mysql_query uit.

Greetz
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s