Witam. Posiadam skrypt który generuję z bazy modele aut. Pierwszy select pokazuje zawartość tabeli "Marki aut" kolumny to id oraz marka. Drugie pole select łączy się z tabela "modele aut" id mid model. Wiem tyle że, skrypt wiąże id i zawartość w mid. Jeśli id w markach wynosi np 3 to w drugiej tabeli kolumna mid także musi wynosić 3. Wtedy pierwsze pole select będzie wyświetlać zawartość w drugim. Problem polega na tym, kiedy chcę zamiast liczby używać nazw np. w pierwszej tabeli NAZWA_KATEGORII i w drugiej tabeli w kolumnie mid NAZWA_KATEGORII. Skrypt tylko przyporządkowuje dane do liczb. Nie radzi sobie z tekstem i moje pytanie brzmi następująco. Co powinienem zmienić w tym kodzie aby, obsłużyć nazwy zamiast liczb.


ajax_start.php


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml"><head>
  3.  
  4.  
  5. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
  6. <title>jQuery: dynamiczne pola select</title>
  7. <script type="text/javascript" src="http://ajax.googleapis.com/
  8. ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  9. <script type="text/javascript">
  10. $(document).ready(function()
  11. {
  12. $(".marka").change(function()
  13. {
  14. var id = $(this).val();
  15. var dataString = 'id='+ id;
  16.  
  17. $.ajax
  18. ({
  19. type: "POST",
  20. url: "ajax_model.php",
  21. data: dataString,
  22. cache: false,
  23. success: function(html)
  24. {
  25. $(".model").html(html);
  26. }
  27. });
  28. });
  29. });
  30. </script>
  31. </head><body>
  32.  
  33.  
  34. <div><h4>Link do wpisu: <a
  35. href="http://blog.tobiasz.org/2010/08/jquery-powiazane-pola-select/">kliknij tutaj</a></h4></div>
  36.  
  37. <div align="center">
  38. <?php
  39. include("cone.php");
  40. echo '<select name="marka" class="marka" width="25">'
  41. .'<option selected="selected">--wybierz markę--</option>';
  42. $result2 = mysql_query("SELECT id, marka FROM marki ORDER BY marka");
  43. while ($row = mysql_fetch_array($result2)) {
  44. $id = intval($row['id']);
  45. $data = $row['marka'];
  46. echo '<option value="'.$id.'">'.$data.'</option>';
  47. }
  48. echo '</select><br>';
  49.  
  50. echo '<select class="model" name="model">'
  51. .'<option selected="selected">--wybierz model--</option>'
  52. .'</select>';
  53. ?>
  54. </div>
  55. </body></html>


ajax_model.php


  1. <?php
  2. echo '<option selected="selected">--wybierz model--</option>';
  3. $mid = $_POST['id'];
  4. if(!empty($mid)) {
  5. include("cone.php");
  6. $result2 = mysql_query("SELECT id, model FROM modele WHERE mid=".$mid." ORDER BY model");
  7. while ($row = mysql_fetch_array($result2)) {
  8. $id = intval($row['id']);
  9. $model = $row['model'];
  10. echo '<option value="'.$id.'">'.$model.'</option>';
  11. }
  12. }
  13.  
  14. ?>