![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
witam
z wczesniejszych moich tematow otrzymalem wzor pewnego kodu zaleznych od siebie selectow http://turson.pl/blog/dynamiczne-zalezne-selecty/ Kod przerobilem. Niestety cos nie dziala w drugiej liscie. Druga lista powinna pokazywac nr-y pokoji przypisanych do ulicy wybranej w pierwszym slelecie. W moim przypadku pomimo wybraniu jakielkowiek pierwszej opcji w drugiej liscie pojawiaja sie wszystkie pokoje, ponizej kod Kod <?php // POŁĄCZENIE Z BAZĄ DANYCH $db = new PDO('mysql:host=localhost;dbname=rooms', 'reex', 'reex1', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")) or die(); // POBRANIE WSZYSTKICH MAREK SAMOCHODÓW (DISTINCT - pobieramy marki bez powtórzeń) $stmt = $db->query("SELECT Nazwa FROM ulica"); $ulica = $stmt->fetchAll(); ?> <form action="" method="post" id="formularz"> <label for="ulica">Wybierz Ulice</label> <select id="ulica" name="ulica"> <option>Wybierz</option> <?php foreach($ulica as $v): ?> <option><?php echo $v['Nazwa']; ?></option> <?php endforeach; ?> </select> <label for="pokoj">Wybierz pokoj</label> <select id="pokoje" name="pokoj"> </select> </form> <script> $('#ulica').on('change', function(){ var ulica = $(this).val(); $.ajax({ type: 'POST', url: 'szukaj.php', data: { 'ulica':ulica }, success: function(msg){ $("#pokoje").html(msg); } }) }) $('#formularz').submit(function(){ /* SPRAWDZAMY, CZY UŻYTKOWNIK WYBRAŁ JAKIŚ MODEL, JEŻELI NIE TO NIE POZWALAMY WYSŁAĆ FORMULARZA */ if (!$("#pokoje option:selected").length){ alert('Wybierz pokoj'); return false; } }) </script> szukaj.php Kod <?php $db = new PDO('mysql:host=localhost;dbname=rooms', 'reex', 'reex1', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")) or die(); $stmt = $db->prepare("SELECT `Nazwa`,`NrPokoju` FROM `pokoj`,`ulica` WHERE pokoj.UlicaId=ulica.Id "); $stmt->bindValue(':ulica', $_POST['ulica'], PDO::PARAM_STR); $stmt->execute(); $pokoje = $stmt->fetchAll(); $odpowiedz = null; if(count($pokoje)){ foreach($pokoje as $v){ $odpowiedz .= '<option>'.$v['NrPokoju'].'</option>'; } } echo $odpowiedz; |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 16:28 |