ik wil een categorie selectie hebben op het inzendingsformulier. In de database zitten nu enkele categorien (bv love, hate, wisdom, freedom)... deze zouden in de selectiebox moeten komen.. maar ergens zit blijkbaar een foutje
Bedankt voor de tips.. de data op de selectbox laten komen lukt nu,.. maar als ik een inzending doe dan word elke inzending gedaan naar categorie '0'. ik moet dus een select optie nog inbouwen, maar de kennis ontbreekt,.. vrees ik. De code zoals ik ze nu heb is als volgt
het gedeelte == selected... daar zou ik een andere vergelijking moeten maken omdat ik nu een vergelijking maak met een string, dit zal al zeker iets anders moeten zijn (volgens mijn prille php kennis) maar wat?
Na 2 dagen proberen is het me nog steeds niet gelukt om een categorie selectie te maken, en deze in te voeren in de database. de database uitlezen in een selectbox is wel gelukt... hieronder de code zoals die op deze moment is:
<?php
error_reporting(E_ALL);
$sql = "SELECT menu_name, id FROM categorys ";
$rs = mysql_query($sql);
if (!$rs){
//there where some errors
die("Database query failed: " . mysql_error());
}
while($row = mysql_fetch_assoc($rs)){
echo '<option';
// IS SELECTED
if($row['id'] != 0){ //hier moet een juiste vergelijkingkomen***
echo ' selected= \"selected\" value="'. $row['id'].'">'.$row['menu_name'].'</OPTION>';
}
//NOT SELECTED
echo' value="'. $row['id'].'">'.$row['menu_name'].'</OPTION>';
}
?>
de code geeft elke optie als selected terug, omdat ik enkel kijk of het id geen '0' is, wat zou ik daar kunnen zetten zodat enkel de geselecteerde optie selected is?
@Dalando
waarom is msql_error() geen optie? heb eens even gezocht maar ik kon eigenlijk niet zo direct iets vinden. meer info is welkom ;)
Ik heb medelijden met je script :'( je laat hem doodvallen!
foutafhandeling doe je zo:
<?php
$qry = "SELECT
id,
blaat
FROM
blaat
ORDER BY
id
ASC";
if($sql = mysql_query($qry))
{
// Verder gaan met je script
}
else
{
echo 'Er is een fout in de query [1]. <br />';
echo mysql_error();
}
?>
Probeer de volgende keer eens logisch n te springen en error_reporting is echt niet nodig hoor in dit stukje...
ik heb 14 dagen ervaring met php.. dus dat men code maar aan de zwakke kant is, is in mijn ogen vrij normaal :p
in elk geval bedankt voor uw tips..en hieronder de code, met uw tips in het achterhoofd ;)
<?php
$sql = "SELECT menu_name, id FROM categorys ";
$rs = mysql_query($sql);
if ($rs){
//everything is fine... proceed
while($row = mysql_fetch_assoc($rs)){
echo '<option';
// IS SELECTED
if($row['id'] != $row[0]){ //hier moet een juiste vergelijking komen!!!!
echo ' selected= \"selected\" value="'. $row['id'].'">'.$row['menu_name'].'</OPTION>';
}
//NOT SELECTED
echo' value="'. $row['id'].'">'.$row['menu_name'].'</OPTION>';
}
}else{//errors!!!
echo 'Er is een fout in de query [1]. <br />';
echo mysql_error();
}
?>