Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]dynamiczne, zalezne selecty
lukas1986s
post
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;

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 16:28