Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/JS] podwójna lista
Forum PHP.pl > Forum > PHP
Diwi
Witam znalazłem w internecie taki skrypt: http://webmaster.helion.pl/kurshtml/skrypt/skrypt.htm

przerobiłem go sobie tak żeby pobierał dane skryptem php z MySQL

oto kod:

  1. <?php
  2. echo '<?xml version=\"1.0\" encoding=\"iso-8859-2\"?>';
  3. ?>
  4. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
  5. <html xmlns=\"http://www.w3.org/1999/xhtml\">
  6. <head>
  7. <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-2\" />
  8. <meta http-equiv=\"reply-to\" content=\"Adres_e-mail\" />
  9. <meta name=\"generator\" content=\"WebSite PRO 4.2\" />
  10. <meta name=\"author\" content=\"Autor_dokumentu\" />
  11. <meta name=\"description\" content=\"Opis\" />
  12. <title>Bez Tytułu</title>
  13. </head>
  14. <body>
  15.  
  16. <form name=\"doublecombo\">
  17. <?php
  18.  
  19. mysql_connect('localhost', 'root', 'gameforce');
  20. mysql_select_db('katalog_www');
  21.  
  22.  
  23. $result = mysql_query(&#092;"SELECT * FROM `wojewodztwa` ORDER BY `id` ASC\") OR DIE (mysql_error());
  24.  
  25. ?>
  26.  
  27. <select name=\"example\" size=\"1\" onChange=\"redirect(this.options.selectedIndex)\">
  28.  
  29. <?php
  30. while ($row = mysql_fetch_assoc($result)) {
  31. echo '
  32. <option value=\"'.$row['id'].'\">'.$row['nazwa'].'</option>
  33. ';
  34. }
  35.  
  36.  
  37. ?>
  38. </select>
  39. <select name=\"stage2\" size=\"1\">
  40.  
  41. <?
  42. $result1 = mysql_query(&#092;"SELECT * FROM `wojewodztwa` ORDER BY `id` ASC LIMIT 1\") OR DIE (mysql_error());
  43. $row1 = mysql_fetch_assoc($result1) OR DIE (mysql_error());
  44.  
  45.  
  46.  
  47. $result2 = mysql_query(&#092;"SELECT * FROM `miasta` WHERE `wid`='$row1[id]'\") OR DIE (mysql_error());
  48.  
  49. while ($row2 = mysql_fetch_assoc($result2)) {
  50.  
  51.  
  52. echo '<option value=\"'.$row2['id'].'\">'.$row2['nazwa'].'</option>';
  53.  
  54.  
  55.  
  56. }
  57. ?>
  58.  
  59. </select>
  60.  
  61.  
  62.  
  63. </form>
  64.  
  65. <?php
  66. echo '
  67. <script>
  68. <!--
  69.  
  70. /*
  71. Double Combo Script Credit
  72. By Website Abstraction (www.wsabstract.com)
  73. Over 200+ free JavaScripts here!
  74. */
  75.  
  76. var groups=document.doublecombo.example.options.length
  77. var group=new Array(groups)
  78. for (i=0; i<groups; i++)
  79. group[i]=new Array()
  80.  
  81. ';
  82.  
  83. $result3 = mysql_query(&#092;"SELECT * FROM `wojewodztwa` ORDER BY `id` ASC\") OR DIE (mysql_error());
  84.  
  85. while ($row3 = mysql_fetch_assoc($result3)) {
  86.  
  87.  
  88.  
  89. $result4 = mysql_query(&#092;"SELECT * FROM `miasta` WHERE `wid`='$row3[id]'\");
  90.  
  91.  
  92. while ($row4 = mysql_fetch_assoc($result4) AND $i= mysql_num_rows($result3)) {
  93.  
  94. echo '
  95. group['.$row3['id'].']['.$row4['id'].']= new Option(\"'.$row4['nazwa'].'\",\"'.$row4['id'].'\")
  96. ';
  97.  
  98. }
  99.  
  100. }
  101. echo '
  102. var temp=document.doublecombo.stage2
  103.  
  104.  
  105.  
  106. function redirect(x){
  107. for (m=temp.options.length-1;m>0;m--)
  108. temp.options[m]=null
  109. for (i=0;i<group[x].length;i++){
  110. temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  111. }
  112. temp.options[0].selected=true
  113. }
  114.  
  115. function go(){
  116. location=temp.options[temp.selectedIndex].value
  117. }
  118. //-->
  119. </script>
  120. ';
  121. ?>
  122. </body>
  123. </html>

Lecz nie wiem dlaczego ten kod nie chce działać sad.gif

Struktura tabeli "wojewodztwa" i "miasta"

Wojewodztwa:

Kod
id  |   nazwa   |   nazwa_2


Miasta:

Kod
id   |  nazwa   |   nazwa_2   |   wid
Ociu
  1. <?php
  2. echo &#092;"
  3. group['\".$row3['id'].\"']['\".$row4['id'].\"']= new Option('\".$row4['nazwa'].\"','\".$row4['id'].\"')
  4. &#092;";
  5. ?>


Spróbuj tak dać... brakuje jeszcze średnika, ale nie wiem czy ma to jakieś znaczenie w js.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.