Data uit een Dbase in een Drop Down Menu zetten.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Carl Zwanenburg

Carl Zwanenburg

18/04/2013 23:57:08
Quote Anchor link
LS,

Heb geprobeerd om op het forum een script te zoeken waarmee ik datarecords haal uit een dbase. Deze plaats ik dan in 1 of 2 kolommen naast elkaar in een Drop Down Menu. Hiermee wil ik dan 1 waarde selecteren die dan in een invoerscherm kan worden geplaatst om daarna weer op te slaan.

Het lukt me wel om data op te halen met b.v.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$con
= mysql_connect($host, $LoginNaam, $Password);
if (!$con)
  {

  die(mysql_error("can't connect"));
  }

mysql_select_db($db_name, $con) or die(mysql_error("can't find database"));
$result = mysql_query("SELECT Voorletter, Achternaam FROM $tbl_name WHERE Klantnummer='$Klantnummer'");
?>


Een Drop Down menu maken lukt op de volgende manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
...
<
td ><SELECT name="Munteenheid">
         <
OPTION value="EUR">EUR</OPTION>
         <
OPTION value="USD">USD</OPTION>
     <
OPTION value="CAD">CAD</OPTION>
     <
/SELECT></td>
....

?>


Maar hierbij zijn de 3 OPTION Values vast. Deze wil ik dus gevuld hebben met de specifieke data uit de dbase.

Ik ben erg benieuwd naar de oplossing.

Vriendelijk dank.
 
PHP hulp

PHP hulp

14/11/2024 16:55:04
 
Kris Peeters

Kris Peeters

19/04/2013 09:53:51
Quote Anchor link
Na mysql_query moet je fetchen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
...
$result = mysql_query("SELECT ...");
...

echo '<SELECT name="Munteenheid">';
while($row = mysql_fetch_assoc($result)) {
  echo '<OPTION value="' . $row['Achternaam'] . '">' . $row['Achternaam'] . '</OPTION>';
}

echo '</SELECT>';
?>
 
Carl Zwanenburg

Carl Zwanenburg

19/04/2013 10:22:03
Quote Anchor link
Hoi, Kris,

Ik heb het volgende gemaakt en volgens mij is dat hetzelfde als jouw antwoord.

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

$host
= "localhost";
$LoginNaam = "";
$Password = "";
$db_name = "";
$tbl_name = "TransactieTabel";

$con = mysql_connect($host, $LoginNaam, $Password);
if (!$con)
  {

  die(mysql_error("can't connect"));
  }

mysql_select_db($db_name, $con) or die(mysql_error("can't find database"));

// Selecteer uit de Dbase de juiste informatie op basis van het doorgegeven Boekjaar.

$Boekjaar = 2013;

$result = mysql_query ( "SELECT RelatieNaam FROM " . $tbl_name . " WHERE (Boekjaar = $Boekjaar AND Rekeninghouder = 'xxx') ORDER BY TransactieID DESC" );
 
//Begin van dropdown
echo '<select>';

while ($data = mysql_fetch_assoc($result)):

//De data in de dropdown zetten
echo '<option>'.$data['RelatieNaam'].'</option>';

endwhile;


//De dropdown beëindigen
echo '</select>';

?>


Ik zie echte dat jij inderdaad twee kolommen hebt gemaakt. Dat ga ik dus gelijk ook proberen.

Bedankt voor je antwoord.

Toevoeging op 19/04/2013 10:29:38:

Hoi, Kris,

Sorry, dacht even dat je twee kolommen had gemaakt, maar dat is niet zo. Ik ga proberen dat wel voor elkaar te krijgen, maar ben blij met een suggestie als je die hebt.
 
Kris Peeters

Kris Peeters

19/04/2013 10:34:56
Quote Anchor link
De manier waarop een <select> werkt:
Elke <option> heeft een value => die wordt naar de server gestuurd; en een waarde tussen <option></option> => die wordt aan de gebruiker getoond.

bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<select name="geslacht">
  <option value="m">Mr.</option>
  <option value="v">Mevr.</option>
</select>


De gebruiker ziet dus "Mevr.", maar de computer ziet "v".
Dat mag uiteraard de zelfde waarde zijn, maar soms wil je een kortere (gecodeerde) waarde in de database zetten.

De <select> zelf: de <select> heeft een name. Die zet je als index van je $_POST.
De value van de geselecteerde <option> wordt naar de server gestuurd.
Dus, bij de verwerking krijg je

$_POST['geslacht'] // = "m" ofwel = "v"
Gewijzigd op 19/04/2013 10:49:33 door Kris Peeters
 



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.