Archief - PHP : dynamisch menu selected

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Batman

Legacy Member
kheb een site waar de menutjes regelmatig veranderen. Dus heb ik de menuopties in een database gestoken zodat ik niet elke keer de 10 tallen menutjes moet aanpassen. Tot zover werkt alles.
PHP:
 	//werkt zoals het moet	
<select name="menu" id="menu" style="border-style: inset; border-width: 1; background-color: #E5E2C2">
         <option value="">-select-</option>
		 
		 <?  $query = mysql_query("SELECT * FROM menu WHERE menu = 'addmenu'  ORDER BY item DESC");
		while ($obj = mysql_fetch_object($query)) {$choice = $obj->item;
		echo "<option value=$choice>$choice</option>";} ?>
		
        </select>

als mensen iets vergeten in het form wordt de pagina opnieuw opgeroepen. Om nu ervoor te zorgen dat men niet alles drop down menutjes moet opniuew selecteren doe je normaal zoiets
PHP:
 <option value="01" <? if($month == '01') echo"selected"; ?> >January</option>

nu combineer ik die twee en wilt het niet werken.

PHP:
  		<select name="menu" id="menu" style="border-style: inset; border-width: 1; background-color: #E5E2C2">
         <option value="">-select-</option>
		 
		 <?  $query = mysql_query("SELECT * FROM menu WHERE menu = 'addmenu'  ORDER BY item DESC");
		while ($obj = mysql_fetch_object($query)) {$choice = $obj->item;
		echo "<option value=$choice";
		if($_POST["menu"] == $choice) {echo"selected";}
		echo">$choice</option>";} ?>
		
        </select>

wat is er fout aan het laatste?

DarkBone

Legacy Member
PHP:
<?
$query = mysql_query("SELECT * FROM menu WHERE menu = 'addmenu'  ORDER BY item DESC");
while ($obj = mysql_fetch_object($query))
{
     $choice = $obj->item; 
     echo "<option value=\"$choice\""; // hier heb ik quotes toegevoegd
     if ($_POST["menu"] == $choice)
     {
          echo " selected=\"selected\""; // nieuwe xHTML valid notatie + merk de spatie op vooraan!!
     } 
     echo ">$choice</option>";
}
?>

Argumenten van html-elementen ALTIJD quoten!!
En spaties tussenlaten!

Nu kreeg je bijvoorbeeld zoiets als dit:
<option value=mijn downloadsselected>mijn downloads</option>

Iets wat je had kunnen zien door naar de broncode te kijken.

Grtz,
db

Batman

Legacy Member
zeer hartelijke dank, het was idd die spatie en men excuses dat ik die zelf niet heb gevonden, in het vervolg is men broncode checken :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan