Pulldown menu PHP MYSQL
Ik ben nieuw hier op phphulp en heb een probleempje.
ik wil een leenbon maken met daarop een paar gegevens bijv. voornaam, achternaam, etc.
maar de bedoeling is dat er hardware wordt uitgeleend en ik wil dat ik d.m.v. een pulldown menu hardware kan selecteren.
Hardware idhardware, naam, serienummer, categorie_idcategorie ,statushardware_idstatus
Leenbon idleenbon, voornaam, achternaam,hardware_idhardware
dit is een deel van mijn database, ik heb hardware_idhardware van tabel Leenbon is een forgein key die is gekoppeld aan idhardware van tabel Hardware
Het pulldown menutje moet dus al het hardware laten zien van tabel hardware, maar wat hij doet is hardware laten zien van hardware_idhardware van tabel Leenbon(ik heb handmatig leenbon gemaakt in phpmyadmin.
Heb ik dan die SQL statement fout?
Ik hoop dat ik genoeg informatie heb gegeven.
Quote:
<h3>Hardware toevoegen</h3>
<form method="POST" action="bon_invoegen.php">
selecteer hardware:<br>
<SELECT NAME=hardware_idhardware>
</SELECT>
</form>
<form method="POST" action="bon_invoegen.php">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
print "Typ voornaam:<br> <input type=text name=voornaam size=30><br>";
print "Typ achternaam: <input type=text name=achternaam size=30><br>";
include("db_connect.php");
$sql="SELECT leenbon.idleenbon, leenbon.voornaam, leenbon.achternaam, leenbon.hardware_idhardware, hardware.idhardware, hardware.naam FROM leenbon, hardware WHERE leenbon.hardware_idhardware = hardware.idhardware";
$result=mysql_query($sql);
$options="";
while ($row=mysql_fetch_array($result)) {
$id=$row["idhardware"];
$naam=$row["naam"];
$options.="<OPTION VALUE=\"$id\">".$naam.'</option>';
}
?>
print "Typ voornaam:<br> <input type=text name=voornaam size=30><br>";
print "Typ achternaam: <input type=text name=achternaam size=30><br>";
include("db_connect.php");
$sql="SELECT leenbon.idleenbon, leenbon.voornaam, leenbon.achternaam, leenbon.hardware_idhardware, hardware.idhardware, hardware.naam FROM leenbon, hardware WHERE leenbon.hardware_idhardware = hardware.idhardware";
$result=mysql_query($sql);
$options="";
while ($row=mysql_fetch_array($result)) {
$id=$row["idhardware"];
$naam=$row["naam"];
$options.="<OPTION VALUE=\"$id\">".$naam.'</option>';
}
?>
selecteer hardware:<br>
<SELECT NAME=hardware_idhardware>
</SELECT>
</form>
Gewijzigd op 04/04/2011 15:14:54 door F Farmer
Wat je nu doet is, is de hardware laten zien van de hardware-koppelingen in leenbon. Dus de hardware die ergens op een leenbon staat, en dus niet *alle* hardware.
Gerben Jacobs op 04/04/2011 16:08:23:
Als je alles van 'hardware' wil laten zien, moet je niet de tabel 'leenbon' er bij betrekken.
Wat je nu doet is, is de hardware laten zien van de hardware-koppelingen in leenbon. Dus de hardware die ergens op een leenbon staat, en dus niet *alle* hardware.
Wat je nu doet is, is de hardware laten zien van de hardware-koppelingen in leenbon. Dus de hardware die ergens op een leenbon staat, en dus niet *alle* hardware.
oke bedankt voor je reactie, maar in tabel "leenbon" moet ik voornaam en achternaam invoeren, dus dan moet ik toch wel tabel "leenbon" er bij betrekken?
"Het pulldown menutje moet dus al het hardware laten zien van tabel hardware, maar wat hij doet is hardware laten zien van hardware_idhardware van tabel Leenbon"
Wat wil je precies?
Nee, want je haalt alle hardware boven waaruit ze een keuze kunnen maken. Eens de keuze gemaakt, kun je deze hardware dan verbinden aan de leenbon. Maar bij het ophalen van de hardware in het database, heb je niets van de gegevens nodig op de leenbon.
hoop dat je het snapt
Toevoeging op 04/04/2011 16:29:28:
Manaus Lavens op 04/04/2011 16:24:45:
Nee, want je haalt alle hardware boven waaruit ze een keuze kunnen maken. Eens de keuze gemaakt, kun je deze hardware dan verbinden aan de leenbon. Maar bij het ophalen van de hardware in het database, heb je niets van de gegevens nodig op de leenbon.
Dan moet ik 2 SQL statements maken?
Wanneer je een overzicht wenst van alle leenbonnen, met daarbij de specifieke hardware, dan pas is het nodig om ook de leenbonnen op te halen.
Maar wanneer je de gebruiker wilt laten kiezen tussen de hardware die men kan lenen, dan hoef je toch geen informatie te hebben van de leenbonnen? (aangezien de huidige klant nog geen leenbon heeft, maar wel eerst een keuze moet maken uit de hardware?)
daar vul ik de voornaam en achternaam van iemand in en daarna kan ik selecteren welk hardware die gene kan lenen.
dan nog kan ik in die SQL statement alles met leenbon weghalen en dan worden de voornaam, achternaam en hardware_idhardware wel op geslagen in tabel leenbon? Als er op submit gedrukt wordt gaat die naar het volgende script.
Ben nog maar een beginneling. Bedankt voor de hulp
Quote:
$voornaam=$_POST['voornaam'];
$achternaam=$_POST['achternaam'];
$hardware_idhardware=$_POST['hardware_idhardware'];
$result=mysql_query("INSERT INTO leenbon (voornaam, achternaam, unummer, hardware_idhardware) VALUES (
'$voornaam','$achternaam','$hardware_idhardware')") or die("Insert Error: ".mysql_error());
mysql_close($link);
$achternaam=$_POST['achternaam'];
$hardware_idhardware=$_POST['hardware_idhardware'];
$result=mysql_query("INSERT INTO leenbon (voornaam, achternaam, unummer, hardware_idhardware) VALUES (
'$voornaam','$achternaam','$hardware_idhardware')") or die("Insert Error: ".mysql_error());
mysql_close($link);
Toevoeging op 05/04/2011 08:14:45:
Bedankt voor de reacties, het is me gelukt.