Dropdown

  • Onderwerp starter Onderwerp starter baws
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

baws

Terugkerende gebruiker
Lid geworden
9 apr 2010
Berichten
1.258
hallo,

Ik heb een dropdown box die zijn waardes haalt uit een database.
ik heb 2 tables.
1 table categorien en 1 categoriegroepen.
een categorie valt weer onder een categoriegroep
bijvoorbeeld
jan groep 1 (= id1)
ties groep 3 (= id3)
fret groep 2 (= id2)
sjaak groep 1 (= id1)
nu heb ik het al zover dat hij per groep sorteert dus
in het dropdown menu staat het als volgt
jan
sjaak
fret
ties

dus eerst alles van groep 1 dan 2 3 enz

nu wil ik nog de naam boven de mogelijkheden.
ik weet dat ik <option value="value" disabled>titel</option>
kan gebruiken om een onklikbaren waarde toe te voegen.
ik heb al het volgende.

PHP:
	 Categorie :<br>
            <select  Name='catetgorie'>
            <?php
                $list=mysql_query("select * from Categorie order by CatGroepId asc");
            while($row_list=mysql_fetch_assoc($list)){
                ?>
                    <option value="<? echo $row_list['CatId']; ?>"<? if($row_list['CatId']==$select){ echo "selected"; } ?>>
                                         <?echo $row_list['CatNaam'];?>
                    </option>
                <?php
                }
                ?>
            </select>

De CatGroepId is dus de relatie jan heeft bijvoorbeeld CatGroepId 1 (een unieke int waarde) en die staat ook in een lijst met categoriegroepen daar staat dan bijvoorbeeld CatGroepId 1 heeft als naam de klas van juffrouw marlies
 
Laatst bewerkt:
ik wil de naam van de categoriegroep boven de categorien.
dus
categoriegroep
groep 1
jan
ties
groep 2
fret
groep 3
ties

dus dat boven de groepen een titel komt die niet aanklikbaar is.
 
Zo iets?
PHP:
<select>
<!--Groep 1-->
<?$query=mysql_query("SELECT * FROM Categorie WHERE CatGroepId='1'");?>
<optgroup label="groep 1">
<? while($row=mysql_fetch_assoc($query)):?>			
<option value="<?=$row['CatId']?>"><?=$row['CatNaam']?></option>
<?endwhile;?>
</optgroup> 

<!--Groep 2-->
<?$query=mysql_query("SELECT * FROM Categorie WHERE CatGroepId='2'");?>
<optgroup label="groep 2">
<? while($row=mysql_fetch_assoc($query)):?>			
<option value="<?=$row['CatId']?>"><?=$row['CatNaam']?></option>
<?endwhile;?>
</optgroup> 
</select>
 
SUper !
ik heb er het volgende mee gedaan zodat hij automatisch de eerste 95 mogelijkheden doorloopt. (heb er nu ongeveer 20 dus dan hoef ik die niet allemaal handmatig in te voeren.

PHP:
Categorie :<br>	
			<select  Name='catetgorie'>			
			<?php
			for ($i=1; $i<=95; $i++)
			{
				$result = mysql_query("SELECT * FROM CategorieGroep WHERE CatGroepId = $i");
				//de eerste 95 worden in een lijst gezet.
				while($row = mysql_fetch_array($result))
				{					 
					echo "<optgroup label=\"".$row['CatGroepNaam']."\">";						  
				}			
				//de categorieën die onder een groep vallen.
				$query=mysql_query("SELECT * FROM Categorie WHERE CatGroepId='$i'");			
				while($row=mysql_fetch_assoc($query)):?>         
				<option value="<?=$row['CatId']?>"><?=$row['CatNaam']?></option>
				<?endwhile;?>
				</optgroup> <?php				
			}
			?>
			</select>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan