Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 2 listy wyboru, za duży chaos...
Forum PHP.pl > Forum > Przedszkole
mickey
witam,

z małą prośbą, mam 2 listy wyboru: kategoria i producent; dla każdej z nich prosta tabela w bazie z polem id i nazwą; ponieważ jest coraz więcej rekordów na liście i jest ona bardzo długa chciałbym to usprawnić; jak rozwiązać problem, żeby po wybraniu pozycji z listy kategorii na liście producentów byli tylko ci producenci, którzy odpowiadają danej kategorii;
np. dla kategorii monitor pojawia się kilku producentów monitorów a nie cała zbiorówka z tabeli producenci jak było do tej pory;
kategorii mam ok. 25pozycji, wszystkich producentów jest dużo więcej i robi się chaos;
będę wdzięczny za pomoc i wskazówki;

pozdrawiam guitar.gif
ennics
nie to forum ale... może zrobisz coś z tym. Wygodniejsze rozwiązanie.

  1. </head>
  2.  
  3. function reload(opt1)
  4. {
  5. document.form.model.selectedIndex=0;
  6. if (document.form.chosen.selectedIndex >0)
  7. {
  8. var prod=document.form.chosen.selectedIndex;
  9. var n = mmod[prod][0].length+1;
  10. document.form.model.length = n;
  11. document.form.model.options[0].text=opt1;
  12. document.form.model.options[0].value=0;
  13. for (i=1; i<n ;i++)
  14. {
  15.  
  16. document.form.model.options[i].text = mmod[prod][0][i-1];
  17. document.form.model.options[i].value = mmod[prod][0][i-1];
  18. }
  19.  
  20. }
  21. else
  22. {
  23. document.form.model.length = 1;
  24. document.form.model.options[0].text=opt1;
  25. document.form.model.options[0].value=0;
  26. }
  27. }
  28.  
  29.  
  30. <script type=text/javascript>
  31. <!--
  32. mmod=new Array();
  33. mmod['1']=new Array(new Array('prod 1a', 'prod 2a'));
  34. mmod['2']=new Array(new Array('prod 1b', 'prod 2b'));
  35. //-->
  36.  
  37. <form method="post" name="form" action="index.php">
  38. <SELECT name=chosen onchange="reload('- Wybierz -');">
  39. <OPTION value=0 >- Kategoria -</OPTION>
  40. <OPTION value='Kat1'>Kat1</OPTION>
  41. <OPTION value='Kat2'>Kat2</OPTION>
  42.  
  43. <SELECT name=model>
  44. <OPTION value=0 >- Produkt -</OPTION>
  45. </form>
  46. </body>
  47. </html>
Kuziu
  1. <?php
  2.  
  3. $sql=&#092;"SELECT * FROM producenci WHERE kategoria='monitor'\";
  4. $result=@mysql_query($sql,$connection) or die(&#092;"Wykonanie zapytania niepowiodło się:\" . mysql_error());
  5.  
  6. ?>
mickey
dzięki za zainteresowanie,

kod ennics-a będzie działał z małą przeróbką, tylko jeszcze jedna dość ważna sprawa; jak przyporządkować producentów do kategorii z uwzględnieniem, iż jeden producent może wystepować w kilku kategoriach;
powiązanie chyba powino być między tabelami w bazie, nie bardzo mam pomysł jak to zorganizować... narazie mam 2 tabele: kategorie, producenci z polami: id, nazwa;

houk guitar.gif
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.