Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql][ajax] zalezne pola select
Forum PHP.pl > Forum > Przedszkole
kozioł
Witam
staram się przerobić ten przykład http://php.rk.edu.pl/w/p/powizane-pola-sel...zystujce-ajaxa/
aby zadziałał na mojej bazie , ile coś mi nie wychodzi ,

zrobiłem sobie pliki jak w przykładzie

i tak:
w pliku index pokazuje mi listę wartości z bazy ,

jak wybiore tę wartosc to w drugim polu select powinna pojawić mi się lista zalezna od wartości jaką wybrałem w pierwszym polu select ale mam ją pustą

plik index.php

  1. <script type="text/javascript" src="ajax.js"></script>
  2. <script type="text/javascript">
  3. var ajax = new sack();
  4.  
  5. function getCityList(sel)
  6. {
  7. var countryCode = sel.options[sel.selectedIndex].value;
  8. document.getElementById('dhtmlgoodies_city').options.length = 0; // Empty city select box
  9. if(countryCode.length>0){
  10. ajax.requestFile = 'getCities.php?countryCode='+countryCode; // Specifying which file to get
  11. ajax.onCompletion = createCities; // Specify function that will be executed after file has been found
  12. ajax.runAJAX(); // Execute AJAX function
  13. }
  14. }
  15.  
  16. function createCities()
  17. {
  18. var obj = document.getElementById('dhtmlgoodies_city');
  19. eval(ajax.response); // Executing the response from Ajax as Javascript code
  20. }
  21.  
  22.  
  23. </script>
  24. <form action="" method="post">
  25.  
  26. <table>
  27. <tr>
  28. <td>Country: </td>
  29. <td><select name="dhtmlgoodies_country" onchange="getCityList(this)">
  30. <option value="">Wybierz</option>
  31. <?PHP
  32.  
  33. $db=mssql_connect('xxx.xxx.xx.x','hasło','login')
  34.  or die ("Nie mozna polaczyc sie z baza, spróbuj ponownie");
  35.  
  36. mssql_select_db("bazy",$db) or die ("nie mogę połączyć z bazą");
  37.  
  38. $q = "SELECT rodzaj FROM baza GROUP BY rodzaj";
  39. $wynik = mssql_query($q);
  40. while ($wiersz = mssql_fetch_array($wynik)) {
  41.  echo '<OPTION value="' . $wiersz['rodzaj'] .
  42.  '">'. $wiersz['rodzaj'] . '</rodzaj>';
  43.  
  44. };
  45.  
  46.  
  47. ?>
  48. </select>
  49. </td>
  50. </tr>
  51. <tr>
  52. <td>City: </td>
  53. <td><select name="dhtmlgoodies_city">
  54.  
  55. </select>
  56. </td>
  57. </tr>
  58. </table>
  59. </form>


i plik getCities.php

  1. <?php
  2.  
  3. if(isset($_GET['countryCode']))
  4. {
  5.  
  6. $db=mssql_connect('xxx.xx.xx.x','hasło','login')
  7.  or die ("Nie mozna polaczyc sie z baza, spróbuj ponownie");
  8.  
  9. mssql_select_db("bazy",$db) or die ("nie mogę połączyć z bazą");
  10. $q = "SELECT jednostka FROM baza WHERE rodzaj= '".mssql_real_escape_string($_GET['countryCode'])."'";
  11.  
  12.  
  13. $wynik = mssql_query($q);
  14. while ($wiersz = mssql_fetch_array($wynik)) {
  15.  
  16.  
  17. echo "obj.options[obj.options.length] = new Option('".$wiersz['jednostka']."');
  18.  
  19.  
  20. }}
  21. ?>


nie wiem gdzie robię błąd , może gdzieś jest przyczyna po stronie mojej bazy w której nie mam id?


dziękuję z góry za pomoc
Gość
Witam, brakuje chyba id dla select'a w pliku index.php linia 53.

  1. <td><select name="dhtmlgoodies_city">
  2. <td><select id="dhtmlgoodies_city" name="dhtmlgoodies_city">
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.