Problema la un select option list cu date din mysql

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
botavlad89
Mesaje:13

Problema la un select option list cu date din mysql

Buna seara de vreo 3 ore ma tot chinuiest la un select si nici cum nu imi iese

Cod: Selectaţi tot

echo "<table border='1'>";
    echo "<form action='lista_noua.php' method='POST'>";
    echo "<tr><td><b>Client</b></td><td><b>Familie</b></td><td><b>Alege Produs</b></td><td><b>Cantitate</b></td><td><b>Schimb</b></td><td><b>Formatia</b></td><td></td></tr>";
    echo "<tr>";
    echo "<td><select name='Client'>";
    if($sql = $db->query("SELECT * FROM client")) 
        while($data = $sql->fetch_assoc()) {
            $client = $data['Client'];    
            $IdClient=$data['IdClient'];
            echo "<option name=".$client.">".$client."</option>";    
        }
        echo "</select></td>";    
    echo "<td><select name='Familie'>";
    if($sql = $db->query("SELECT * FROM famili")) 
        while($data = $sql->fetch_assoc()) {
            $familie = $data['Familie'];    
            $Id=$data['IdFamilie'];
            echo "<option name=".$familie.">".$familie."</option>";    
        }
        echo "</select></td>";    
        echo "<td><select name='Produs'>";    
    if($sql = $db->query("SELECT * FROM produse WHERE IdFamilie = 2  ")) {
        while($data = $sql->fetch_assoc()) {
            
            $Denumire = $data['Denumire'];    
            
            echo "<option name=".$Denumire.">".$Denumire."</option>";    
        }
        echo "</select></td>";    
        echo "<td><input type='text' name='Cantitate'/></td>";
        echo "<td><select name='Schimb'>
                  <option value='1'>1</option>
                  <option value='2'>2</option>
                  <option value='3'>3</option>
                  </select></td>";
        echo "<td><select name='Formatia'>
                  <option value='A'>A</option>
                  <option value='B'>B</option>
                  <option value='C'>C</option>
                  </select></td>";
        echo "<td><input type='submit' value='Adauga' name='submit'/></td>";
        echo "</form>";
        echo "</table>";
    } else {
        echo "A aparut o eroare";
    }

 
Nu reusesc, adica nu stiu cum sa fac la linia asta

Cod: Selectaţi tot

if($sql = $db->query("SELECT * FROM produse WHERE IdFamilie = 2  ")) {
ca idFamiliei sa mi-l ia automat de la selectul de mai sus.

Cod: Selectaţi tot

echo "<td><select name='Familie'>";
    if($sql = $db->query("SELECT * FROM famili")) 
        while($data = $sql->fetch_assoc()) {
            $familie = $data['Familie'];    
            $Id=$data['IdFamilie'];
            echo "<option name=".$familie.">".$familie."</option>";    
        }
        echo "</select></td>";  
de aici !!
Vreau sa il pot lua automat de acolo in functie de ce famile aleg eu !
Va multumesc !

MarPlo Mesaje:4343
Salut
Daca vrei sa selectezi datele din mysql in functie de alegerea optiuii dintr-un <select> html, nu se poate cu primul Select la baza de date care creaza acea lista de optiuni.
Trebuie o alta interogare Select la mysql care este executata dupa alegerea optiunii, folosind javascript-ajax.
Daca vrei ceva cu mai multe liste select, una in functie de alta, iti trebuie un multiplu select-list.
Vezi scriptul de aici: Multiple Select Dropdown List with AJAX , sau poti gasi si pe internet exemple, la cautare "Ajax Select list".

botavlad89 Mesaje:13
Problema este ca Ajax si javascript sunt pe nicarei ! credeam ca se poate ceva mai simplist realiza !
Asta ar fi singura metoda ?

MarPlo Mesaje:4343
Din cate stiu, la astfel de selecturi trebuie doua interogari separate la baza de date. Prima cea care creaza tag-ul <select> cu optiuni, si a doua interogare se executa separat (posibil in alt fisier php), doar dupa ce a fost selectata o optiune din <select>, pentru a sti script-ul ce optiune a fost aleasa. Atunci se transmite prin Ajax acea valoare la fisierul php care o va prelua, face Selectul in functie de ea si returneaza ce a gasit.
Daca nu stii ajax, si iti trebuie, poti invata din lectiile de la Cursul Ajax de pe site. E usor dupa ce intelegi ideea.

Subiecte similare