Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]"Input Type" dwa pola wyboru
Forum PHP.pl > Forum > Przedszkole
szczalpi
Witam
Nie wiem jak to fachowo się nazywa, więc mogę coś źle wyjaśnić smile.gif
Mam pytanie do Was odnośnie input type. Chcę zrobić takie coś. W bazie danych mam dwie kolumny: producent i model.
Chodzi mi oto, że jak wybiorę producenta w kolejnym input type pojawią mi się modele, które mogę wybrać.
Proszę o jakąś wskazówkę od czego mogę zacząć, aby to zaczęło działałać
Pozdrawiam.
b4rt3kk
Czyżby chodziło Ci o pole typu select? Tutaj masz plugin jQuery:

http://www.appelsiini.net/projects/chained
szczalpi
Jak pomoże chętnie smile.gif
Pozdrawiam

Witam

Zrobiłem takie coś. Pojawiają mi się wszyscy producenci i wszystkie modele. Lecz problem tkwi w tym, że w modelach pojawiają się wszystkie rekordy.
Chciałbym zrobić tak, aby każdy model przypisać danemu producentowi.
Proszę was o zobaczenie mam błąd, albo nakierować gdzie szukać mojego problemu.
Pozdrawiam
  1. <select id="producent">
  2. <option value="">Wybierz</option>
  3. <?php
  4.  
  5. $sql="
  6. SELECT * FROM samochody GROUP BY producent ASC
  7. "
  8. ;
  9. $result=mysql_query($sql);
  10. ;
  11. while($row = mysql_fetch_array($result))
  12. {
  13.  
  14. echo'<option value="'.$row['producent'].'">'.$row['producent'].'</option>';
  15. }
  16. ?>
  17. </select>
  18.  
  19. <select id="model">
  20. <option value="">Wybierz</option>
  21. <?php
  22.  
  23.  
  24. $sql="
  25. SELECT * FROM samochody GROUP BY model ASC
  26. "
  27. ;
  28.  
  29. $result=mysql_query($sql);
  30. $row=mysql_fetch_array($result);
  31.  
  32. while($row = mysql_fetch_array($result))
  33. {
  34. echo'<option value="'.$row['model'].'">'.$row['model'].'</option>';
  35. }
  36. ?>
  37. </select>
b4rt3kk
Brakuje class dla każdego option. Jeśli oczywiście postanowiłeś użyć jQuery chained.

  1. <select id="model">
  2. <option value="">Wybierz</option>
  3. <?php
  4.  
  5.  
  6. $sql="
  7. SELECT * FROM samochody GROUP BY model ASC
  8. "
  9. ;
  10.  
  11. $result=mysql_query($sql);
  12. $row=mysql_fetch_array($result);
  13.  
  14. while($row = mysql_fetch_array($result))
  15. {
  16. echo'<option value="'.$row['model'].'" class="'.$row['producent'].'">'.$row['model'].'</option>';
  17. }
  18. ?>
  19. </select>
szczalpi
Ok.
Tylko jak chcę wybrać najpierw producenta, a później aby pojawiły się modele danego producenta. Wcześniej źle napisałem, ale post od "Bartek " nie powoduje tego mojego zamysłu.
Np: Fiat - jako producent, bravo, bravo, punto - jako modele.
Nie wiem czy trzeba użyć jakiejś pętli czy wystarczy odpowiednio dać zapytanie Mysql.

"Bartek" pomozesz.
b4rt3kk
W moim poprzednim poście pokazałem Ci jak masz zrobić drugiego selecta. Całość ma wyglądać tak:

  1. <select id="producent">
  2. <option value="">Wybierz</option>
  3. <?php
  4.  
  5. $sql="SELECT * FROM samochody GROUP BY producent ASC";
  6. $result=mysql_query($sql);
  7.  
  8. while($row = mysql_fetch_array($result))
  9. {
  10.  
  11. echo'<option value="'.$row['producent'].'">'.$row['producent'].'</option>';
  12. }
  13. ?>
  14. </select>
  15.  
  16. <select id="model">
  17. <option value="">Wybierz</option>
  18. <?php
  19.  
  20.  
  21. $sql="SELECT * FROM samochody GROUP BY model ASC";
  22. $result=mysql_query($sql);
  23.  
  24. while($row = mysql_fetch_array($result))
  25. {
  26. echo'<option value="'.$row['model'].'" class="'.$row['producent'].'">'.$row['model'].'</option>';
  27. }
  28. ?>
  29. </select>


Pokaż może jeszcze jak napisałeś skrypt w jQuery.
szczalpi
  1. <head><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
  2. <script src="js/jquery.chained.js" type="text/javascript" charset="utf-8"></script>
  3. </head>
  4. <select id="producent">
  5. <option value="">Wybierz</option>
  6. <?php
  7.  
  8. $sql="SELECT * FROM samochody GROUP BY producent ASC";
  9. $result=mysql_query($sql);
  10.  
  11. while($row = mysql_fetch_array($result))
  12. {
  13.  
  14. echo'<option value="'.$row['producent'].'">'.$row['producent'].'</option>';
  15. }
  16. ?>
  17. </select>
  18.  
  19. <select id="model">
  20. <option value="">Wybierz</option>
  21. <?php
  22.  
  23.  
  24. $sql="SELECT * FROM samochody GROUP BY model ASC";
  25. $result=mysql_query($sql);
  26.  
  27. while($row = mysql_fetch_array($result))
  28. {
  29. echo'<option value="'.$row['model'].'" class="'.$row['producent'].'">'.$row['model'].'</option>';
  30. }
  31. ?>
  32. </select>
b4rt3kk
Brakuje najważniejszego, umieść w HEAD:

  1. <script type="text/javascript">
  2. $(function(){
  3. $('#model').chained('#producent');
  4. });
szczalpi
Dziękuje działa smile.gif

Witam
Jeszcze pytanie. W jaki sposób należałoby zrobić lub inaczej zmienić kod na czysty php, aby nie używać "jquery" ?
Pozdrawiam
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.