Pulldown menu PHP MYSQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

F Farmer

F Farmer

04/04/2011 15:13:42
Quote Anchor link
Beste iedereen,

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">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
  }

?>

selecteer hardware:<br>
<SELECT NAME=hardware_idhardware>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $options?>

</SELECT>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php




print "<br>";
print "<input type=submit value=Toevoegen>";
?>

</form>
Gewijzigd op 04/04/2011 15:14:54 door F Farmer
 
PHP hulp

PHP hulp

26/04/2024 06:25:07
 
Gerben Jacobs

Gerben Jacobs

04/04/2011 16:08:23
Quote Anchor link
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.
 
F Farmer

F Farmer

04/04/2011 16:11:55
Quote Anchor link
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.


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?
 
Gerben Jacobs

Gerben Jacobs

04/04/2011 16:19:49
Quote Anchor link
Hoe moet ik dit dan interpreteren?

"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?
 
Manaus Lavens

Manaus Lavens

04/04/2011 16:24:45
Quote Anchor link
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.
 
F Farmer

F Farmer

04/04/2011 16:27:37
Quote Anchor link
Het pulldown menutje moet dus al het hardware laten zien van tabel hardware. Ik selecteer dan een stukje hardware en verder typ ik gegevens in zoals voornaam etc en dan moet allemaal in tabel "leenbon" komen en de hardware wat ik heb geselecteerd moet het id nummer daarvan ook in tabel "leenbon" kolom: hardware_idhardware komen te staan.

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?
 
Manaus Lavens

Manaus Lavens

04/04/2011 16:33:22
Quote Anchor link
Bij het ophalen van de keuze uit hardware heb je niet de leenbonnen nodig dat is toch logisch?

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?)
 
F Farmer

F Farmer

04/04/2011 17:16:33
Quote Anchor link
kijk er is een formulier

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);


Toevoeging op 05/04/2011 08:14:45:

Bedankt voor de reacties, het is me gelukt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.