Dropdown Meniu la baza de date de interogare

In primul rand imi cer scuze daca este o intrebare proasta - incepeam sa-mi ridic abilitatile php/mysql. Fac un formular cu trei dropdown-uri. Vreau să pot declanșa o interogare din formular. Selectezi tipul de tip, face, apare modelul de trimitere și se afișează un tabel de rezultate.

Am formularul meu populate cu 3 matrice și atunci când loviți trimite, pot econa cheia fiecărui element selectat pe pagină:

    echo '<form action="dbBrowse.php" method="post">';

    $mak = array (0 => 'Make', 'Ford', 'Freightliner', 'Peterbilt', 'Sterling', 'Mack', 'International', 'Kenworth', 'Volvo');
    $mod = array (0 => 'Model', 'Argosy', 'Midliner');
    $p = array (0 => 'Part', 'Radiator', 'Charge Air Cooler', 'AC');                        



    echo '';




    echo '
0
adăugat autor Robert Harvey, sursa
adăugat autor Robert Harvey, sursa
Stornar Îmi cer scuze că tocmai l-am reeditat pentru a elimina $.
adăugat autor watercolor12, sursa
ele erau doar numele de cutii de viteze
adăugat autor watercolor12, sursa
Unde specificați variabila $ drop1, $ drop2, $ drop3?
adăugat autor stUrb, sursa

3 răspunsuri

If I've understood your question, when the form is submitted, you want to query the database with the selected values.

Exemplu utilizând ȘI :

// Prepare the Query
$query = sprintf(
           "SELECT * FROM parts WHERE part='%s' AND make='%s' AND model='%s'",
           mysql_real_escape_string($_POST['drop1']),
           mysql_real_escape_string($_POST['drop2']),
           mysql_real_escape_string($_POST['drop3'])
         );

// Execute the Query
mysql_query($query);

Aceasta va selecta toate rândurile din părțile tabelului care corespund acelor trei valori.

Exemplu utilizând SAU :

// Prepare the Query
$query = sprintf(
           "SELECT * FROM parts WHERE part='%s' OR make='%s' OR model='%s'",
           mysql_real_escape_string($_POST['drop1']),
           mysql_real_escape_string($_POST['drop2']),
           mysql_real_escape_string($_POST['drop3'])
         );

// Execute the Query
mysql_query($query);

Aceasta va selecta toate rândurile din părțile tabelului care se potrivesc cu oricare dintre aceste trei valori.

Puteți citi mai multe despre acest lucru:

mysql_query

mysql_real_escape_string

MySQL 5.6 Reference Manual :: 12 Functions and Operators :: 12.3 Operators

0
adăugat
decât tu pentru ajutor
adăugat autor watercolor12, sursa

Mai întâi de toate, trebuie să ștergeți. char în interogarea SQL, nu este nevoie să o utilizați pentru moment și, desigur, să atribuiți valorile corecte variabilelor.

$partTypeVar = mysql_real_escape_string($_POST['$drop1']);
$makeTypeVar = mysql_real_escape_string($_POST['$drop2']);
$modelTypeVar = mysql_real_escape_string($_POST['$drop3']);

$dropSearch = mysql_query('SELECT * FROM parts WHERE part= "$partTypeVar" AND WHERE make = "$makeTypeVar" AND WHERE model = "$modelTypeVar"');

Presupun că este ordinea corectă a variabilelor tale.

Sper că acest ajutor!

0
adăugat
multumesc pentru ajutor. Am făcut unele ajustări și am primit o versiune de bază a ceea ce încerc să fac. Ce credeți că este cel mai bun mod de a învăța php/mysql? Doar intrăm și facem proiecte mici? Thats ceea ce am inceput sa fac, dar eu intotdeauna intru in lucruri pe care vreau sa le fac si intrebari care nu sunt intr-o carte sau discutate in tutorial. Orice sugestii?
adăugat autor watercolor12, sursa
Citiți doar tutorialele și cele mai bune practici. Întrebați, întrebați și întrebați o dată și o dată. : P Când aveți probleme cu unele funcții, accesați php.net și citiți-o.
adăugat autor Vic Abreu, sursa
0
adăugat
PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT