Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][SQL][PHP] dynamiczne listy rozwijalne zależne od siebie
Forum PHP.pl > Forum > Przedszkole
waszi
Siemano!
Skoro to dział przedszkole to liczę że pomożecie i mi rozjaśnicie albo sytuacje albo pomożecie znaleść rozwiązanie mojego problemu.

Tworzę prostą stronę z formularzem do rejestracji ludzi na imprezę, sprawa wygląda następująco, mam bazę danych, w jednej tabeli mam dane firm takie jak id, nazwa, miasto, ilość osób przyjezdnych. Całą sprawa rozchodzi się o to że każda firma może zarejestrować tylko jedną lub dwie osoby tzn. FirmaA może zarejestrować max 2 osoby, FirmaB może zarejestrować max 1 osobę, FirmaC może max zarejestrować 2 osoby i tak dalej i tak dalej, liczę tych osób dla danej firmy są przypisane do każdej w bazie danych. Potrzebuje jakiegoś rozwiązania do tego ze jak wybiorę firmę A z pierwszej listy rozwijalnej to w drugiej liście będę mieć w select option 1 lub 2 osoby a jeśli firmę B to bylo by tylko option z możliwością rejestracji dla 1 osoby. wszystkie dane zczytywane do list z bazy danych mają być pobierane
Poniżej zamieszczam fragment kodu, który może się przydać najbardziej.
Jeśli nie to chociaż mnie nakierujcie jak mogę to rozwiązać, a może jest na to inny sposób niż js, bez przeładowywania strony

CODE
<form action="index.php#form" method="post">
<select id="company_id" name="company_id">
<option value="0" disabled selected>Wybierz firmę:</option>
<?php
foreach($companies as $company){
print '<option value="' . $company->getId() . '">' . $company->getName() . ' - ' . $company->getCity() . '</option>';
}
?>
</select>
<select name="quantity">
<option value="0" disabled selected>Wybierz ilość uczestników:</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="text" name="name" placeholder="Imię" value="<?php if (isset($name)) { print $name; } ?>" required />
<input type="text" name="surname" placeholder="Nazwisko" value="<?php if (isset($surname)) { print $surname; } ?>" required />
<input type="text" name="mail" placeholder="Email" value="<?php if (isset($mail)) { print $mail; } ?>" required />
<input type="text" name="phone" placeholder="Telefon" value="<?php if (isset($phone)) { print $phone; } ?>" required />
<textarea name="comments" placeholder="Uwagi"><?php if (isset($comments)) { print $comments; } ?> </textarea>
<input type="submit" value="Wyślij" />
</form>


i jeśli macie zamiar mi powiedzieć ze było to wałkowane milion razy na forum i że mam sobie poszukać tego na forum to niestety muszę was zawieść bo nie mogę nic wyszukać
Cytat
Napotkane błędy:
Wystąpił bląd. Wróć i spróbuj ponownie.
connection to localhost:3312 failed (errno=111, msg=Connection refused)
Kishin
Jquery chyba najprośiej.
W data-ilosc sobie przechowuj ile ma być quantity i po wybraniu wypełnia drugiego selecta
  1.  
  2. <select id="company_id">
  3.  
  4. <option data-ilosc="1">jeden</option>
  5. <option data-ilosc="2">dwa</option>
  6.  
  7. </select>
  8.  
  9. <select id="quantity">
  10. </select>
  11.  
  12.  
  13. <script>
  14. $( "#company_id" ).change(function() {
  15.  
  16. var ilosc=$("#company_id option:selected" ).data( "ilosc" );
  17.  
  18. $( "#quantity" ).html('<option>1</option>');
  19.  
  20. if(ilosc==2)
  21. $( "#quantity" ).append('<option>2</option>');
  22.  
  23.  
  24.  
  25. });
  26.  
  27. </script>
  28.  
waszi
Poradziłem sobie już poprzez js, dla zainteresowanych mogę podać jutro kod, ale problem rozwiązany. Pozdro `1
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.