Avatar billede christian-BN Praktikant
20. marts 2010 - 12:26 Der er 1 kommentar

Dual dropdown + PHP/mysql

Hej, jeg har et problem.

Jeg skal have lavet en dual dropdown-box med to bokse, hvor man vaelger en genre i den foerste dropdown og alt efter hvad der er valgt skal dropdown to saa tilpasses. Problemet er at alt skal hentes fra en database mysql/php.

$result = mysql_query("SELECT DISTINCT maingenre FROM musicgenre") or die(mysql_error()); 
while($row = mysql_fetch_array( $result )) {
<option>....</option>
}

Ud fra hvilken genre der bliver valgt skal dropdownbox 2 genere en menu med undergenre til genren, der skal vaere mulighed for at efterlade subgenre blank eller vaelge en vaerdi.
subgenre phpkode er:
$result = mysql_query("SELECT DISTINCT subgenre FROM musicgenre where maingenre = "DEN VALGTE VAERDI" ") or die(mysql_error()); 
while($row = mysql_fetch_array( $result )) {
<option>....</option>
}

Hvordan laver jeg det her.. skal have fat i noget javascript, men de eksempler jeg har fundet er pre-defineret vaerdier og ikke dynamiske hentet fra mysql...
Avatar billede christian-BN Praktikant
20. marts 2010 - 14:42 #1
Update, jeg er kommet frem til foelgende fungerer paa en side for sig selv, men naar jeg indsaetter det i en formular sammen med andre felter, hvor et af dem bla. er et upload felt saa kan kan jeg ikke faa vaerdien/$_get til blive tildelt..

<?
@$cat=$_GET['cat']; // register_globals off

///////// Getting the data from Mysql table for first list box//////////
$quer2=mysql_query("SELECT Distinct maingenre FROM musicgenre order by maingenre");
///////////// End of query for first list box////////////

/////// for second drop down list we will check if category is selected else we will display all the subcategory/////
if(isset($cat)){
$quer=mysql_query("SELECT DISTINCT subgenre FROM musicgenre WHERE maingenre='$cat' order by subgenre");
}else{$quer=mysql_query("SELECT DISTINCT subgenre FROM musicgenre  order by subgenre"); }
////////// end of query for second subcategory drop down list box ///////////////////////////


//////////        Starting of first drop downlist /////////
echo "<select name='genre' onchange=\"reload(this.form)\"> <option value=''>Select one</option>";
while($noticia2 = mysql_fetch_array($quer2)) {
if($noticia2['id']==@$cat){echo "<option selected value='$noticia2[maingenre]'>$noticia2[maingenre]</option>"."<BR>";}
else{echo  "<option value='$noticia2[maingenre]'>$noticia2[maingenre]</option>";}
}
echo "</select>";
//////////////////  This will end the first drop down list ///////////

//////////        Starting of second drop downlist /////////
echo "<select name='sugenre'><option value=''>Select one</option>";
while($noticia = mysql_fetch_array($quer)) {
echo  "<option value='$noticia[subgenre]'>$noticia[subgenre]</option>";
}
echo "</select>";
//////////////////  This will end the second drop down list ///////////
?>

Naar man aendrer i det foerste inputfelt saa burde der blive sat en variabel i adresselinjen der hedder cat. Kan det have nogen effekt at formularen i forvejen bliver automatisk genereret saa addresselinjen allerede hedder

createQuestions.php?id=22&questionnumber=1

naar man saa aender i forste dropdown, saa burde adressen blive
createQuestions.php?id=22&questionnumber=1&cat=Foo
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester