Ik kom er niet helemaal uit ik wil dat hij uit de database de waardes voor de dropdown inleest maar krijg ze niet te zien. Ziet iemand waar de fout zit.
database = woonplaats (wpl_id | wpl_plaats | wpl_land_id)
------------------------------------------------------------------

<select name="woonplaats">
<option value="">Maak een keuze</option>
<?php
if($_GET['woonplaats'] != "")
{
$query = mysql_query("SELECT wpl_plaats FROM woonplaats");
for($index=0; $index<mysql_num_rows($query); $index++)
{
$row = mysql_fetch_array($query);
$wpl_plaats = $row['id_wpl'];
echo "<option value=\"".$wpl_plaats."\" "; if($_GET['woonplaats'] == $wpl_plaats){ echo "selected=\"selected\""; } echo ">".htmlentities($wpl_plaats, ENT_QUOTES)."</option>";
}
mysql_free_result($query);
}
?>
</select>
Ja, het gaat fout binnen je for-loop. Waar heb je die voor nodig? Schrap die for-loop en fetch de resultaatset van je query in een while loop en echo de options:
<?php
while($row = mysql_fetch_array($query)) {
echo '<option ...>';
}
?>
De mysql_free_result() plaats je uiteraard wel buiten die loop!
$wpl_plaats = $row['id_wpl'];

Deze $row['id_wpl'] bestaat niet want die haal je niet op.

Verder is het veel handiger om de echo met enkele quotes te doen dan hoef je de html-quotes niet te escapen. Wel de $vars buiten de quotes houden.

Dus:
echo '<option value="' . $wpl_plaats . '" .........
Ik heb het nu zo maar zie nog steeds niet wat ik fout doe

<?php

echo "<select name='woonplaats'>";
echo "<option value="">Maak een keuze</option>";
if($_GET['woonplaats'] != "")
{
$query = mysql_query("SELECT wpl_id FROM woonplaats");
for($index=0; $index<mysql_num_rows($query); $index++)
{
$row = mysql_fetch_row($query);
$wpl_plaats = $row['id_wpl'];
echo "<option value=\"".$wpl_plaats."\" "; if($_GET['woonplaats'] == $wpl_plaats){ echo "selected=\"selected\""; } echo ">".htmlentities($wpl_plaats, ENT_QUOTES)."</option>";
}
mysql_free_result($query);
}
echo "</select>";


?>
Lees je de geposte reacties wel door?
Volgens mij niet.

<?php
echo '<select name="woonplaats">';
echo '<option value="">Maak een keuze</option>';
if($_GET['woonplaats'] != "")
{
$query = mysql_query("SELECT wpl_id FROM woonplaats");
if($query)
{
while($row = mysql_fetch_row($query))
{
if($_GET['woonplaats'] == $row['id_wpl'])
{
$sel = ' selected="selected"';
}
else
{
$sel = '';
}
echo '<option value="' . $row['id_wpl'] . '"' . $sel . '>' . row['id_wpl'] . '</option>';
}
}
else
{
// query error
}
}
echo '</select>';
?>
Jazekers wel had alleen even die while niet gedaan omdat me dat niet duidelijk was sorry.
hmmm krijg een aantal fout meldingen waar ik nu even mee ga stoeien.
ik zag dat je id_wpl had gedaan ipc wpl_id dit heb ik even omgezet.
In ieder geval alvast bedankt ik koppel later terug of het is gelukt.
Rik schreef op 15.01.2010 16:12

ik zag dat je id_wpl had gedaan ipc wpl_id dit heb ik even omgezet.

Dat haalde ik uit jouw script. Zie regel 11.
Loop weer tegen wat problemen aan ik heb nu dat hij plaatsnamen die beginnen met een ' of plaatsnamen met meerdere delen zoals de bilt gaat fout:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in............................/registreer.php on line 201
Woonplaats toevoegen mislukt probeer opnieuwYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'S'' at line 1

-------------------------------------------------------
<?php
// HIER BEGINGT DE DROPDOWN WOONPLAATS
$q = "SELECT wpl_plaats from woonplaats order by wpl_plaats asc"; // Query
$result = mysql_query($q) or die("Fout: ".mysql_error()); // Resultaat opslaan in een var

echo '<select name="woonplaats">'; // De select tag
while($list = mysql_fetch_array($result)) { // While loop
echo '<option value='.htmlentities($list['wpl_plaats'], ENT_QUOTES);
if($_POST['woonplaats'] == $list['wpl_plaats'])
{
echo ' selected=selected';
}
echo '>'.htmlentities($list['wpl_plaats'], ENT_QUOTES).'</option>'; // Echo de option
}
echo '</select>'; // Select tag sluiten
?>
-------------------------------------------------------

dan heb ik:

-------------------------------------------------------
<?php

ShowRegistreer($_POST["voornaam"],$_POST["achternaam"],$_POST["adres"],$_POST["postcode"],$_POST["woonplaats"],$_POST["rekening"],$_POST["telefoon"],$_POST["email"],$_POST["nickname"],$_POST["wachtwoord"],$_POST["herhaal_wachtwoord"]);
}
else
{

$woonplaats_nieuw = $_POST["woonplaats"];
$sql=mysql_query("SELECT * FROM woonplaats WHERE wpl_plaats='$woonplaats_nieuw'");
if($record=mysql_fetch_row($sql))
{
$dbwoonplaats_ID=$record[0];
$dbland_ID=$record[2];
}
else
{
echo "Woonplaats toevoegen mislukt probeer opnieuw";
die(mysql_error());
}

$sql=("INSERT INTO klanten (klant_voornaam,klant_achternaam,klant_adres,klant_postcode,wpl_Id,land_Id,klant_rekeningnr,klant_tel,klant_email,klant_nickname,klant_wachtwoord)

VALUES ('" .$_POST["voornaam"]."','" .$_POST["achternaam"]."','" .$_POST["adres"]."','" .$_POST["postcode"]."','$dbwoonplaats_ID','$dbland_ID','" .$_POST["rekening"]."','" .$_POST["telefoon"]."','" .$_POST["email"]."','" .$_POST["nickname"]."','" .md5($_POST["wachtwoord"])."')");

?>

Reageren