select dropdown
bijvoorbaad dank
Als je het PHP doet, heb je een page refresh nodig.
Aan de hand van de waarde van je eerste <select> kun je dan een query opbouwen die de juiste velden voor de tweede <select> uit je database trekt.
wanneer ik het met php ga doen moet ik de gegevens toch op gaan slaan met cookies
Je beschrijft tevens subcategorieën
Dus:
poule > teams > personen > enz
Staat de diepte (het aantal subs) vast of moet dit instelbaar zijn?
Bijv:
<script type="text/javascript">
xmlDocument = new ActiveXObject("microsoft.xmldom");
xmlDocument.async = "false";
xmlDocument.load("jouwdatabase.xml");
</script>
opzich kan ik het zelf wel schrijven, maar ik wou even een beginnetje hebben. ik ga het gewoon zelf proberen daar leer ik het beste van, en wanneer ik er dan niet meer uit kom dan koppel ik het wel weer terug hierheen. maar ik doe het denk ik zoals jan de eerste keer zei. met een refresh tag
Het gaat meer om het volgende:
Stel dat de bezoeker op de eerste select klikt en een andere optie kiest. Dan moet daarna de tweede selectbox veranderen om de opties weer te geven die bij de eerste horen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$toon = '
<select name="poulenr" onChange="'.$_SERVER['PHP_SELF'].'">
<option value=""'; if(!$_POST['poulenr']){ $toon .= ' selected'; } $toon .= '>Kies een poule</option>';
$result = mysql_query("SELECT * FROM poule");
while($rij = mysql_fetch_array($result)){
$toon .= '
<option value="'.$rij['poulenr'].'"'; if($_POST['poulenr'] == $rij['poulenr']){ $toon .= ' selected'; } $toon .= '>'.$rij['poulenaam'].'</option>';
}
//als er voor een poulenr gekozen is, toon dan de dropdown van de teams in die poule
if (isset($_POST['poulenr'])){
$toon .= '
<select name="teamnr" onChange="'.$_SERVER['PHP_SELF'].'">
<option value=""'; if(!$_POST['teamnr']){ $toon .= ' selected'; } $toon .= '>Kies een team</option>';
$result = mysql_query("SELECT * FROM team WHERE poulenr = '".$_POST['poulenr']."'");
while($rij = mysql_fetch_array($result)){
$toon .= '
<option value="'.$rij['teamnr'].'"'; if($_POST['teamnr'] == $rij['teamnr']){ $toon .= ' selected'; } $toon .= '>'.$rij['teamnaam'].'</option>';
}
}
//enz enz
echo $toon;
?>
$toon = '
<select name="poulenr" onChange="'.$_SERVER['PHP_SELF'].'">
<option value=""'; if(!$_POST['poulenr']){ $toon .= ' selected'; } $toon .= '>Kies een poule</option>';
$result = mysql_query("SELECT * FROM poule");
while($rij = mysql_fetch_array($result)){
$toon .= '
<option value="'.$rij['poulenr'].'"'; if($_POST['poulenr'] == $rij['poulenr']){ $toon .= ' selected'; } $toon .= '>'.$rij['poulenaam'].'</option>';
}
//als er voor een poulenr gekozen is, toon dan de dropdown van de teams in die poule
if (isset($_POST['poulenr'])){
$toon .= '
<select name="teamnr" onChange="'.$_SERVER['PHP_SELF'].'">
<option value=""'; if(!$_POST['teamnr']){ $toon .= ' selected'; } $toon .= '>Kies een team</option>';
$result = mysql_query("SELECT * FROM team WHERE poulenr = '".$_POST['poulenr']."'");
while($rij = mysql_fetch_array($result)){
$toon .= '
<option value="'.$rij['teamnr'].'"'; if($_POST['teamnr'] == $rij['teamnr']){ $toon .= ' selected'; } $toon .= '>'.$rij['teamnaam'].'</option>';
}
}
//enz enz
echo $toon;
?>
Gewijzigd op 11/09/2005 02:03:00 door Barman V
oke heel erg bedankt barman, ik ga het eens uitproberen. het gaat vast wel lukken.
Dus als je fouten krijgt, wil ik het graag horen.
wanneer er fouten in zitten dan zeg ik het wel ff, heb je het wel eens eerder gemaakt dan zoiets. want ik kom het weinig tegen. op het internet.
Maar toen heb ik die selects een size gegeven. M.a.w. je krijgt dan geen dropdown-menu, maar meer een keuzelijst met zonodig een scrollbar. Als je dan op een optie klikt, dan verschijnt de volgende keuzelijst, enz
<html>
<head>
<title>dropdown</title>
<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='dd.php?cat=' + val ;
}
</script>
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?
///////// pak de data uit de db//////////
$quer2=DoQuery("SELECT DISTINCT naam,wedstrijd_poule_id FROM Wedstrijd_poule order by naam");
/////////////einde////////////
/////// als in de eerste dropdown niks geselect is dan laat de 2de drop alles zien/////
if(isset($cat) and strlen($cat) > 0){
$quer=DoQuery("SELECT DISTINCT naam FROM Teams where poule_id=$cat order by naam");
}else{$quer=DoQuery("SELECT DISTINCT naam FROM Teams order by naam"); }
////////// einde ///////////////////////////
echo "<form method=post name=f1 action=''>";
////////// eerste drop /////////
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($line = mysql_fetch_array($quer2)) {
if($line['wedstrijd_poule_id']==@$cat){echo "<option selected value='$line[wedstrijd_poule_id]'>$line[naam]</option>"."<BR>";}
else{echo "<option value='$line[wedstrijd_poule_id]'>$line[naam]</option>";}
}
echo "</select>";
////////////////// einde ///////////
////////// 2de drop /////////
echo "<select name='subcat'><option value=''>Select one</option>";
while($line2 = mysql_fetch_array($quer)) {
echo "<option value='$line2[team_id]'>$line2[naam]</option>";
}
echo "</select>";
////////////////// einde ///////////
echo "</form>";
?>
///////// pak de data uit de db//////////
$quer2=DoQuery("SELECT DISTINCT naam,wedstrijd_poule_id FROM Wedstrijd_poule order by naam");
/////////////einde////////////
/////// als in de eerste dropdown niks geselect is dan laat de 2de drop alles zien/////
if(isset($cat) and strlen($cat) > 0){
$quer=DoQuery("SELECT DISTINCT naam FROM Teams where poule_id=$cat order by naam");
}else{$quer=DoQuery("SELECT DISTINCT naam FROM Teams order by naam"); }
////////// einde ///////////////////////////
echo "<form method=post name=f1 action=''>";
////////// eerste drop /////////
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($line = mysql_fetch_array($quer2)) {
if($line['wedstrijd_poule_id']==@$cat){echo "<option selected value='$line[wedstrijd_poule_id]'>$line[naam]</option>"."<BR>";}
else{echo "<option value='$line[wedstrijd_poule_id]'>$line[naam]</option>";}
}
echo "</select>";
////////////////// einde ///////////
////////// 2de drop /////////
echo "<select name='subcat'><option value=''>Select one</option>";
while($line2 = mysql_fetch_array($quer)) {
echo "<option value='$line2[team_id]'>$line2[naam]</option>";
}
echo "</select>";
////////////////// einde ///////////
echo "</form>";
?>