24. juni 2004 - 13:29Der er
41 kommentarer og 2 løsninger
dynamiske dropdown menuer
Jeg vil gerne have lavet et par dynamiske dropdown menuer. Jeg har en Tabel der hedder varegrupper og den indeholder gruppe,undergrupe,fabrikant,model.
nu vil jeg så med php lave en dropdownmenu der hvorfra jeg kan vælge mellem posterne i gruppe. Når jeg vælger denne skal den næse dropdown menu vise de undergrupper der er for denne vare.
Jeg har fundet et par eksempler men de er vidt forskellige og indeholder en masse variabler jeg ikke skal bruge da de er dele af større scripts. Jeg er ret ny i PHP og har svært ved at overskue præsist hvad jeg skal brug af det.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$q = mysql_query("SELECT * FROM table") or die(mysql_error()); echo"<select name='varegruppe'>"; while($row = mysql_fetch_array($q)) { echo"<option value='$row[varegruppe]>$row[varegruppe]</option>"; } echo"</select>";
Men hvis du skal have alle dropdown-menuerne på samme side (den send/opdater knap), og at de skal ændre sig afhængig af hvad der bliver valgt, skal du ud i javascript...
min tanke var at ligge 1. valg i en variabel og så ligge indholdet af den ind som en betingelse i den forespørgelse der bliver lavet for at genere nummer to osv.
jeg prøver lige din af hvis den bare laver en dropdown på baggrund af indholdet af en kolonne så skulle resten kunne løses
ok nogen bud på hvorfor den kun viser den ene gruppe? SELECT DISTINCT gruppe FROM varegrupper retunerer godt nok alle grupper når jeg bruger den men jeg skal have dem ind i menuen.
jaw> Det hjalp *S* tak. Size komandoen virkede desværre på både højden og breden det er kun breden der skulle tilpasses? og i hvilken variabel ligger valget $row[gruppe]?
Når jeg klikker på en varegruppe i dropdown menuen skal den jo kunne huske hvad jeg har valgt så jeg kan skifte til en anden side eller arbejde vidre med valget
Det er det samme som jaw's, jeg bruger bare onChange i den første select box til at reloade siden med et overført id (?id=) svarende til det der vælges. På den måde reloades siden når du ændrer valg i den første selectbox, og du behøver ikke submitte.
ok det lyder som en god løsning det kan godt være jeg er træls men jeg er stædig og vil have det i PHP *G* hvordan får jeg den så til at opdatere og vise den næste dropdown?
Glemmer gør den jo ikke, men korrekt at den ikke viste det - det havde jeg ikke lige tænkt på :/ Men det kan fikses nemt: http://www.syndicate.dk/exp/513394.php
taak nu virker jaws. men jeg ville nu også gerne have den anden til at virke så jeg kan vælge så jeg tænkte at hvis nu jeg giver jaw 100 point her for hans udemærkede indsats og så laver et nyt spm med 100 nye point gider du så lige hjælpe mig med at få dit til at køre drejbjerg?
OK nu kan min lille hjerne snart ikke rumme mere på en gang jeg poster lige det hele gider du så kigge på det og fortælle mig hvor jeg skal sætte hvad ind jeg har rettet noget id det men har ikke fået lavet nogen form skal den ind samme sted som i jaws?
<script type="text/javascript"> function Load_id() { var id = document.formnavn.varegruppe.options[document.formnavn.varegruppe.selectedIndex].value var id_txt = "?id=" var url = <? php echo '"'.$_SERVER['PHP_SELF'].'"'; ?> ; location = url + id_txt + id } </script> <BODY> <?PHP // Forbind til server og vælg database $conn = mysql_connect('localhost', '******', '******') or die(mysql_error()); mysql_select_db('*******',$conn) or die (mysql_error());
$q = mysql_query("SELECT DISTINCT gruppe FROM varegrupper") or die(mysql_error()); echo"<select name='gruppe' onChange='Load_id()'>"; while($row = mysql_fetch_array($q)) { echo"<option value='$row[gruppe]>$row[gruppe]</option>"; } echo"</select>";
$id = $_GET['id']; $q = mysql_query("SELECT * FROM varergrupper WHERE gruppe_id = $id") or die(mysql_error()); echo"<select name='vare'>"; while($row = mysql_fetch_array($q)) { echo"<option value='$row[gruppe]>$row[gruppe]</option>"; } echo"</select>";
<script type="text/javascript"> function Load_id() { var id = document.testform.gruppe.options[document.testform.gruppe.selectedIndex].value var id_txt = "?gruppe=" var url = <? php echo '"'.$_SERVER['PHP_SELF'].'"'; ?> ; location = url + id_txt + id }
<script type="text/javascript"> function Load_id() { var id = document.testform.gruppe.options[document.testform.gruppe.selectedIndex].value var id_txt = "?id=" location = id_txt + id } </script> </BODY> </HTML>
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.