
SelectboxAls je wat verder gevorderd bent in het maken van sites met PHP wil je op een gegeven moment selectboxen dynamisch genereren. Je wilt bijvoorbeeld een site maken waarop mensen een artikel kunnen plaatsen. Voor elk artikel moet men een categorie invullen. Het makkelijkste werkt het dan met een selectbox.
Om de site beter te kunnen onderhouden, kun je de inhoud van een selectbox uit de database halen. De inhoud kan dan zeer gemakkelijk aangepast worden en de mensen die een artikel kunnen plaatsen hoeven alleen maar de juiste categorie te selecteren. Probleem alleen is hoe je dat gaat oplossen.
In het volgende voorbeeld wordt de inhoud van een selectbox dynamisch gegenereerd.
verbinding.php
<?php
$dbhost = "localhost";
$db = "database";
$username = "gebruiker";
$dbww = "wachtwoord";
mysql_connect("$dbhost","$username","$dbww");
mysql_select_db("$db");
?>
selectbox.php
<?php
include ("verbinding.php");
?>
<html>
<head>
<title>Select</title>
</head>
<body>
<h1>Select box vullen met DB gegevens</h1>
<form method="post">
<select name="catg">
<?php
$query = "Select id, sub From subcat Order By id";
$result = mysql_query($query);
while($select = mysql_fetch_object($result)) {
echo ("<option value=\"$select->id\">$select->sub</option>\n"); }
?>
</select>
</form>
</body>
</html>
Dit stuk code haalt de gegevens voor de selectbox uit de database en vult daarmee de selectbox. Via het name attribuut van select kun je de waarde doorgeven aan de pagina die de code moet verwerken. Om precies te zijn: $_POST[“catg”]. Het id van de juiste categorie wordt zo doorgegeven aan de pagina die de code verwerkt. Voor nu is het voldoende dat je weet hoe je een selectbox dynamisch gevuld krijgt.
|