Drop down menu + SQL Query?

Status
Niet open voor verdere reacties.

CaptainHolland

Gebruiker
Lid geworden
19 aug 2010
Berichten
16
Hallo allemaal,

Ik zit met een probleempje en ik kom er niet aan uit. Laat ik overigens wel vooropstellen dat ik een beginnende SQL'er ben, dus wellicht dat ik iets over het hoofd zie o.i.d.

Mijn probleem/uitdaging:

Ik heb een database met een table. In die table zitten weer een aatal kolommen (Registratie, SerialNumber, Holder, FactoryDeliveryDate, Notes), tevens heb ik een webpagina waar ik al een dropdown menu heb, die wordt gevuld met data uit de 'Registratie' kolom. Wat ik nu voor mekaar wil krijgen is het volgende.

Wanneer men een registratie in het dropdown menu selecteerd en op de 'zoek' knop (knop is overigens geen vereiste) klikt, wil ik dat de data uit de overige kolommen getoond word op de pagina.
Stel, op de eerste regel in de table is de registratie 'PH-ABC, het SerialNumber '12345', de Holder is 'Jan Jansen', de FactoryDeliveryDate is '15-11-2013' en er zijn geen opmerkingen, dus 'Notes' is 'NULL'.
Als ik nu in het dropdown menu 'PH-ABC' selecteer, zou ik dus de overige info (SerialNumber, Holder, FDD en Notes) willen weergeven op de pagina.

Misschien komt het wat cryptisch over, if so, let me know!

Alvast bedankt voor alle hulp,
Stefan
 
je zou een actie kunnen plakken aan de onChange van de <select>.

De keuze is aan jou of je dan de gehele pagina ververst of dat je alleen de gegevens van het betreffende item ververst.

Zorg wel dat er ergens een uniek veld in de tabelrij staat waarop je de rij kunt selecteren.
Deze unieke waarde zou je mee kunnen geven aan de value van de select optie zodat je weet waarop je moet gaan selecteren.
 
Dank voor je snelle reactie gast0158,

Ik heb een stukje code gevonden, welke in principe wel werkt. De 'search' knop bij het dropdown menu stuurt naar een andere php pagina, waar -verwachtte ik- hij dan de resultaten zou weergeven, maar niets blijkt minder waar, ik krijg gewoon een sneeuwwitte pagina te zien. Zoals ik al aangaf, ik ben een absolute leek..

Hieronder de code voor het dropdown menu en de button:
HTML:
<form name="acft_search" method="post" action="acft_details1.php"><table width="600" align="center" border="0" cellspacing="1" cellpadding="2">
 <tr><td width=300><select name="reg" id="selRegistration" style="width: 200px;"><option value="Select Aircraft Registration" selected>Select Aircraft Registration</option><option value="eza">PH-EZA</option><option value="ezb">PH-EZB</option><option value="ezc">PH-EZC</option><option value="ezd">EZD</option><option value="ezf">PH-EZF</option><option value="ezg">PH-EZG</option><option value="ezh">PH-EZH</option><option value="ezi">PH-EZI</option><option value="ezk">PH-EZK</option><option value="ezl">PH-EZL</option><option value="ezm">PH-EZM</option><option value="ezn">PH-EZN</option></select></td><td><input type="submit" name="search" value="Select"/></td>
 </tr>

Hieronder staat de PHP/SQL Query:
PHP:
<?php
 
// get variable after selecting something from the dropdown with name 'acft_search' 
$select = $_POST['search'];
 
// if something has been chosen 
if (!empty($select)) {
 
// get the chosen value 
$Registration = $_POST['Registration'];
 
// select the type from the database 
// database connection details (change to whatever you need) 
$HOST = 'mijnhost'; 
$DATABASE = 'mijndatabase'; 
$USER = 'mijnusername'; 
$PASSWORD = 'mijnwachtwoord';
 
// connect to database 
if(!$conn=mysql_connect('mijnhost','mijnusername' ,'mijnwachtwoord')) { 
echo("<li>Can't connect to $HOST as $USER"); 
echo("<li>mysql Error: ".mysql_error()); 
die; 
}
 
// select database 
if (!mysql_select_db($DATABASE,$conn)) { 
echo("<li>We were unable to select database $DATABASE"); 
die; 
}
 
// if everything successful create query 
// this selects all rows where the type is the one you chose in the dropdown 
// * means that it will select all columns, ie name and type as i said above 
$sql_query = "SELECT * FROM E190Fleet WHERE Registration='$Registration'"; 
 
// get the data from the database 
$result = mysql_query($sql_query,$conn);
 
// output data 
while (($deails = mysql_fetch_assoc($result))) { 
// print out the name 
echo('Serial Number '.$SerialNumber['SerialNumber'].' - '); 
echo('Current Owner '.$Holder['Holder'].' - '); 
echo('Factory Delivery Date '.$FactoryDeliveryDate['FactoryDeliveryDate'].' - '); 
// print out the type 
echo('Type: '.$Notes['Notes'].'<br>'); 
}
 
// close mysql connection 
mysql_close($conn);
 
}
 ?>

Ziet iemand hier iets aan? ik krijg geen foutmeldingen o.i.d. (kreeg ik ze maar, kon ik er nog iets mee..) dus v.w.b. ligt het dus niet aan de login-info of typefouten..
Moet er wellicht nog PHP/SQL code op de pagina die aangemaakt wordt? (Misschien een domme opmerking, ik probeer ook maar iedere mogelijkheid na te gaan)

Alvast bedankt,
Stefan
 
Laatst bewerkt door een moderator:
Ga jezelf er eerst eens in verdiepen hoe je code kunt plaatsen hier op het forum, zoals het er nu staat is er geen door komen aan en begin ik er ook niet aan om verder te kijken.

Verder ben ik er vrij zeker van dat de HTML-code verre van compleet is.
 
gast0158,

volgens mij is de code ook zonder kleurtjes prima leesbaar, maar het zal wel weer aan mij liggen..

Poging 2:

PHP:
<?php

 // get variable after selecting something from the dropdown with name 'acft_search' 
$select = $_POST['search'];

 // if something has been chosen 
if (!empty($select)) {

 // get the chosen value 
$Registration = $_POST['Registration'];

 // select the type from the database 
// database connection details (change to whatever you need) 
$HOST = 'mijnhost'; 
$DATABASE = 'mijndatabase'; 
$USER = 'mijnusername'; 
$PASSWORD = 'mijnwachtwoord';

 // connect to database 
if(!$conn=mysql_connect('mijnhost','mijnusername' ,'mijnwachtwoord')) { 
echo("<li>Can't connect to $HOST as $USER"); 
echo("<li>mysql Error: ".mysql_error()); 
die; 
}

 // select database 
if (!mysql_select_db($DATABASE,$conn)) { 
echo("<li>We were unable to select database $DATABASE"); 
die; 
}

 // if everything successful create query 
// this selects all rows where the type is the one you chose in the dropdown 
// * means that it will select all columns, ie name and type as i said above 
$sql_query = "SELECT * FROM E190Fleet WHERE Registration='$Registration'"; 

// get the data from the database 
$result = mysql_query($sql_query,$conn);

 // output data 
while (($deails = mysql_fetch_assoc($result))) { 
// print out the name 
echo('Serial Number '.$SerialNumber['SerialNumber'].' - '); 
echo('Current Owner '.$Holder['Holder'].' - '); 
echo('Factory Delivery Date '.$FactoryDeliveryDate['FactoryDeliveryDate'].' - '); 
// print out the type 
echo('Type: '.$Notes['Notes'].'<br>'); 
}

 // close mysql connection 
mysql_close($conn);

 }
 ?>

Over die HTML: Ik neem aan dat je het over de code voor het dropdown menu en de button hebt?
Zou je zo vriendelijk willen zijn om aan te geven wat er dan verkeerd is of mist, in plaats van alleen maar melden dat deze 'verre van compleet is'. Hiermee insinueer je
dus dat er iets mist, maar wat dan?

Mijn excuses als het wat brutaal overkomt, is niet mijn bedoeling, maar jouw reactie is weinig motiverend en onconstructief in mijn ogen.

Met Vriendelijke Groet,
Stefan
 
Wanneer ik ergens HTML-code zie welke begint met <form> dan verwacht ik op zijn minst dat er ook ergens een </form> in de code voor komt.
En voor die </form> kan nog van alles behoren te staan wat ik zo niet in kan schatten. Het kan zo maar zijn dat er een deel van de code niet mee geknipt en geplakt is.

Verder is het denk ik slim om even aan te geven onder welke bestandsnamen je alles hebt opgeslagen.

Ook de naam van de database en gebruikte tabellen en velden zou ik graag even apart vermeld zien aangezien ik zo niet kan zien of de code datgene bevat wat het zou moeten bevatten.
Het enige dat ik nu kan doen is aannemen dat dit goed is en daar schiet jij erg weinig mee op.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan