geselecteerde waarde in pulldown

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

De boer

de boer

10/01/2010 21:56:00
Quote Anchor link
Hoi allen,

Ik ben een beginneling op het gebied van php, maar helaas kon ik de oplossing niet vinden
dmv zoeken op deze site.
Het is heel simpel, ik haal data uit een tabel in een database voor een pulldown menu.
1) hoe bepaal ik de gekozen waarde in catch name.php? Voor een tekst veld weet ik het wel
<input type = enz ...>
maar hoe voor de gekozen waarde uit een een pulldown menu?
2) de default waarde die ik wil presenteren is bv "all names" maar die staat natuurlijk niet in de tabel, hoe presenteer ik die in de pulldown?

Dit zijn de scripts:
<html>
<head>
<title> Test namen</title>
</head>
<form action="catch name.php" method="post">
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
<?php
    ini_set ('display_errors', 1);
    error_reporting (E_ALL | E_STRICT);

// Database connection
$db_database = 'Scores';
$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'Beck2Pasta';
mysql_connect($db_host,$db_user,$db_pass) or die("Could not connect to MySQL (Main connection)");
mysql_select_db($db_database) or die("Could not connect to database (Main connection)");

$sql_kwal = "SELECT naam FROM namen";  
$result = mysql_query($sql_kwal);
 
echo '<select name="name">';
$teller=0;
while ($row = mysql_fetch_assoc ($result))
{

$teller++;
echo '<option value="'.$teller.'" >'.$row['naam']. '</option>';
echo $row[''] . $row['Speler2'] . "<br>\n";  
}


echo '</select>';
?>

<input type="submit" value="verzenden">
</form>
</body>
</html>

===================
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
reset($_POST);
while ($postvar = each($POST))
{

 $varnaam = $postvar{'key'];
 echo $varinhoud ."=.$varinhoud."br>\n";
}

?>



Groet en alvast bedankt
 
PHP hulp

PHP hulp

29/11/2024 06:29:13
 
De boer

de boer

10/01/2010 22:34:00
Quote Anchor link
Oeps
de action script catch name.php moet natuurlijk zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
reset($_POST);
while ($postvar = each($POST))
{

 $varnaam = $postvar{'key'];
 $varinhoud = $postvar['value'];
 echo $varnaam ."=.$varinhoud."br>\n";
}

?>
 
Joren de Wit

Joren de Wit

10/01/2010 22:46:00
Quote Anchor link
1) De waarde van de dropdown box is uit te lezen in de betreffende POST variabele. Wat de key is van die variabele wordt bepaald door het name attribuut van de <select> tag:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<select name="deze_naam">

De waarde van bovenstaande select zou dus met $_POST['deze_naam'] uit te lezen zijn.

2) Dat is een kwestie van de eerst <option> in je php script te echoën:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
echo '<select name="name">';
echo '<option value="">All names</option>';
?>
 
De boer

de boer

10/01/2010 22:59:00
Quote Anchor link
Ehhh, zo staat het toch in m'n script?
De catch names.php geeft geen uitvoer
 
Joren de Wit

Joren de Wit

10/01/2010 23:08:00
Quote Anchor link
Gebruik om te beginnen geen spaties in bestandsnamen, dat gaat sowieso een keer problemen opleveren (als dat hier nog niet het geval is). Verder zou je om de inhoud van $_POST te controleren ook gewoon eens dit kunnen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<pre>'.print_r($_POST, true).'</pre>';
?>

Dan zie je direct welke POST variabelen beschikbaar zijn...
 
De boer

de boer

10/01/2010 23:26:00
Quote Anchor link
Ok, super bedankt ! met alleen die regel van jou in catch name.php krijg ik
id de index van de gekozen pulldown item.
Nu nog de name ipv de index item
 
De boer

de boer

10/01/2010 23:36:00
Quote Anchor link
Blanche, ik krijg dus als ik het derde item kies:
Array
(
[name] => 3
)
Bij item 3 hoort de naam HANS uit de database die ook in de derde pulldown menu te zien is
 
Joren de Wit

Joren de Wit

10/01/2010 23:43:00
Quote Anchor link
Dat klopt lijkt me? Of wat is je vraag?
 
De boer

de boer

11/01/2010 00:42:00
Quote Anchor link
Ok ik ben eruit.
Super bedankt Blanche, dat je dit soort beginners vragen wilde beantwoorden.
Heel eenvoudig:
while ($row = mysql_fetch_assoc ($result))
{
echo '<option value="'.$row['naam'].'" >'.$row['naam']. '</option>';
}

Fijn dat je wilde helpen. !
 



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.