login  Naam:   Wachtwoord: 
Registreer je!
 Forum

AJAX tabel volgorde probleem

Offline Keet - 26/03/2007 15:59
Avatar van KeetLid Hallo,

Ik heb een formulier met 2 kolommen.
Zie http://www.deskuddebuikkies.nl/AJAX/volgorde.php
In het voorbeeld heb ik 4 soorten fruit en het aantal van die soorten.
Het aantal kan ik veranderen en als ik dat doe in het tekstvak wordt de waarde in mysql opgeslagen en wordt de tabel opnieuw weergegeven met de nieuwe waarde.
Nu heb ik het zo gemaakt dat de tabel met het minste aantal bovenaanstaat.

Alleen is het probleem dat hij de waardes van de eerste tabel onthoud.

Ik heb bv in de bovenste kolom banaan staan met aantal 12.
Als ik deze verander naar 121 gaat hij veranderen in de tabel.
In de rij waar eerst banaan in stond staat nu perzik met aantal 11.
Als ik deze waarde verander verandert hij die van banaan en niet die van perzik.

Weet iemand hoe ik dit kan oplossen?

Bvd.

Dit is de code


volgorde.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <script type="text/javascript" src="order.js"></script>
  6. <head>
  7. <title></title>
  8.  
  9. </head>
  10.  
  11. <body>
  12. <div id="nainvullen">
  13. <?
  14. include("formulier.php");
  15. ?>
  16. </div>
  17.  
  18.  
  19. </body>
  20.  
  21. </html>



formulier.php

  1. <?
  2. $q=$_GET["q"];
  3. $q2=$_GET["q2"];
  4.  
  5. include("connect.php"); //mysql verbinding
  6.  
  7. if ($q!="")
  8. {
  9. $query ="UPDATE aantalfruit SET aantal=$q WHERE soort= '".$q2."'";
  10. mysql_query($query);
  11. }
  12.  
  13. //$sql="SELECT * FROM aantalfruit";
  14. $sql="SELECT * FROM aantalfruit ORDER BY aantal ASC";
  15. $result = mysql_query($sql);
  16.  
  17.  
  18. $i=0;
  19. while($row = mysql_fetch_array($result))
  20. {
  21. $aantal=$row['aantal'];
  22. $soort=$row['soort'];
  23.  
  24. echo"<script> var jstest$i = '$soort'; </script>";
  25.  
  26. echo "<table border='1'>";
  27. echo "<tr>";
  28. echo "<th><input type=\"text\" id=\"$aantal\" onkeyup=\"volgordeFunction(this.value,jstest$i)\" value=\"$aantal\"></th>";
  29. echo "<th><input type=\"text\" id=\"$soort\" value=\"$soort\"></th>";
  30. echo "</tr>";
  31. echo "<tr>";
  32. echo "<td></td>";
  33. echo "<td></td>";
  34. echo "</tr>";
  35. echo "</table>";
  36.  
  37. $i++;
  38. }
  39. ?>




order.js

  1. var xmlHttpqw
  2.  
  3. function volgordeFunction(str1,str2)
  4. {
  5. xmlHttpqw=GetXmlHttpObject()
  6. if (xmlHttpqw==null)
  7. {
  8. alert ("Browser does not support HTTP Request");
  9. return;
  10. }
  11. alert("ALERT "+str1+" Q2 "+str2);
  12. var url="formulier.php";
  13. url=url+"?q=" + str1 + "&q2=" + str2;
  14. url=url+"&sid="+Math.random();
  15. xmlHttpqw.onreadystatechange=stateChanged;
  16. xmlHttpqw.open("GET",url,true);
  17. xmlHttpqw.send(null);
  18.  
  19. }
  20.  
  21. function stateChanged()
  22. {
  23. // var objID="nainvullen";
  24. // var serverPage="formulier.php";
  25. // var obj = document.getElementById(objID);
  26. // ajaxDisplay.open("GET",serverPage);
  27.  
  28. if (xmlHttpqw.readyState==4 || xmlHttpqw.readyState=="complete")
  29. {
  30. var ajaxDisplay = document.getElementById('nainvullen');
  31. ajaxDisplay.innerHTML = xmlHttpqw.responseText;
  32. }
  33.  
  34. }
  35.  
  36. function GetXmlHttpObject()
  37. {
  38. var xmlHttpqw=null;
  39. try
  40. {
  41. // Firefox, Opera 8.0+, Safari
  42. xmlHttpqw=new XMLHttpRequest();
  43. }
  44. catch (e)
  45. {
  46. //Internet Explorer
  47. try
  48. {
  49. xmlHttpqw=new ActiveXObject("Msxml2.XMLHTTP");
  50. }
  51. catch (e)
  52. {
  53. xmlHttpqw=new ActiveXObject("Microsoft.XMLHTTP");
  54. }
  55. }
  56. return xmlHttpqw;
  57. }

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.204s