06. juni 2005 - 14:02
Der er
14 kommentarer og 1 løsning
Optionboks laver ny optionboks + en lille biting
Hej Eksperter... Jeg har et script der henter data ud fra en database i en <OPTION>-boks... <?php $hent = mysql_query("SELECT ting, ting2 FROM ting") or die( "Unable to select. Reason: ".mysql_error()); { echo "<select name=\"ETELLERANDETNAVN\">\n"; while ($row = mysql_fetch_array($hent)) { echo " <option value='" .$row['TING'] ."'>".$row['TING'] ."</option>\n"; } echo "</select>\n"; } ?> - hvordan får jeg ovenstående kode til at oprette en ny optionboks - fx. hvis jeg nu har 4 forskellige valmuligheder i tabellen "TING", hvor jeg så vælger "TING3" (det 3. punkt fx) - så skal den oprette en ny optionboks ved siden af, med 4 andre valgmuligheder, fra en anden tabel? ------- den anden ting: Hvordan kan jeg lave et link, som gør, at den automatisk vælger fx "TING3" og så "NOGETANDET2" i de 2 optionbokse, fra en anden side dvs. at brugeren er fri for at vælge i de 2 dropdownbokse, men kan nøjes med at trykke på linket ------ Mvh 44fire44
Annonceindlæg fra Deloitte
Hvis PHP, så brug $_GET som method og når du kører din while, så spørg echo"<option value='". $row["ting"] ."'"; if($row["ting"] == "TING3") { echo" selected"; } echo">klkflklfd</option>
jeg tror godt jeg forstår hvad du mener... men jeg får fejlen: Parse error: parse error, unexpected T_LNUMBER, expecting ',' or ';' in /web/www/xxx/xxx/xxx/xxx.php on line xxx så 1. hvordan sætter jeg det korrekt ind? 2. den option-boks der kommer, skal ligeledes hente informationer ud fra DB'em - men fra en anden tabel - så kan jeg vel ikke nøjes med ovenstående?
Et eks. <?php $ar = array("noget", "tekst", "og_mere", "tekstigen"); $ar_igen = array("noget_igen", "tekst_igen", "og_mere_igen", "tekstigen_igen"); function selected($var, $control=1, $tx="checked") { if(isset($var) && $var == $control) { return " ". $tx; } } ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get"> <select name="action" onchange="this.form.submit();"> <option value="">Vælg</option> <?php for($i = 0; $i < 4; $i++) { echo"\n<option value=\"". $ar[$i] ."\"". selected($_GET["action"], $ar[$i], "selected") .">". $ar[$i] ."</option>"; } echo"</select>"; if(isset($_GET["action"])) { ?> <select name="next" onchange="this.form.submit();"> <option value="">Vælg igen</option> <?php for($i = 0; $i < 4; $i++) { echo"\n<option value=\"". $ar_igen[$i] ."\"". selected($_GET["next"], $ar_igen[$i], "selected") .">". $ar_igen[$i] ."</option>"; } } ?></select> </form>
cool nok - og hvordan får jeg så: $ar = array("noget", "tekst", "og_mere", "tekstigen"); $ar_igen = array("noget_igen", "tekst_igen", "og_mere_igen", "tekstigen_igen"); til at hente ud fra databasen istedet for ovenstående "array"s??
forresten, så skal det være nyt indhold i den anden dropdown boks, for hver punkt der er i den første...
jeg er ved at lave noget med biler, og det skal være noget lignende: DROPDOWNBOKS 1 - DROPDOWNBOKS 2 Lille Personbil - Skoda, Volvo, Folkevogn, udtræk, fra, database Stor Personbil - Mercedes, BMW, osv, osv2 Lille Kassevogn - Ford Transit, mere, ogmere osv, osv - forstår du?
Det må være noget med en masse "IF"'er, går jeg ud fra, eller er jeg helt på den forkerte side?
Noget i denne stil CREATE TABLE `user_tilmelding` ( `id` int(11) NOT NULL auto_increment, `navn` varchar(24) NOT NULL default '', `id_navn` int(11) NOT NULL default '0', `tid` int(11) NOT NULL default '0', `ref` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; # # Data dump for tabellen `user_tilmelding` # INSERT INTO `user_tilmelding` VALUES (16, 'ny', 6, 1118523600, 3); INSERT INTO `user_tilmelding` VALUES (15, 'ko', 7, 1118523600, 3); INSERT INTO `user_tilmelding` VALUES (14, 'pi', 9, 1118526600, 3); INSERT INTO `user_tilmelding` VALUES (13, 'pl', 8, 1118523600, 3); Og så filen som henter og viser: <?php include("includes/settings.php"); // connect til DB $hent = mysql_query("SELECT DISTINCT(biltype) FROM biler") or die( "Unable to select. Reason: ".mysql_error()); $m_typer = array(); while ($t = mysql_fetch_object($hent)) { $m_typer[] = $t->biltype; } mysql_free_result($hent); ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get"> <?php if(!isset($_GET["type"]) || !in_array(urldecode($_GET["type"]), $m_typer)) { ?> <select name="type" onchange="this.form.submit();"> <option value="">Vælg modeltype</option> <?php foreach($m_typer as $type) { echo"\n<option value=\"". urlencode($type) ."\">". $type ."</option>"; } echo"</select> "; } if(isset($_GET["type"])) { $valgt_type = urldecode($_GET["type"]); if(in_array($valgt_type, $m_typer)) { echo"Valgt modeltype er ". $valgt_type ." <a href=\"". $_SERVER["PHP_SELF"] ."\">Vælg ny modeltype</a><br />\n"; echo"<input type=\"hidden\" name=\"type\" value=\"". urlencode($valgt_type) ."\">\n"; $mulige_maerker = mysql_query("SELECT DISTINCT(maerke) FROM biler WHERE biltype = '". $valgt_type ."'") or die( "Unable to select. Reason: ".mysql_error()); $m_maerker = array(); while ($m = mysql_fetch_object($mulige_maerker)) { $m_maerker[] = $m->maerke; } mysql_free_result($mulige_maerker); if(!isset($_GET["maerke"])) { echo"<select name=\"maerke\" onchange=\"this.form.submit();\">\n"; echo"<option value=\"\">Vælg bilmodel</option>"; foreach($m_maerker as $maerker) { echo"\n<option value=\"". urlencode($maerker) ."\">". $maerker ."</option>"; } echo"</select>"; }else{ if(in_array(urldecode($_GET["maerke"]), $m_maerker)) { echo"Valgte bilmodel er ". urldecode($_GET["maerke"]) ." <a href=\"". $_SERVER["PHP_SELF"] ."?type=". urlencode($valgt_type) ."\">Vælg ny bilmodel</a><br />\n"; ?></form> <form action="dinaction" method="post"> <input type="hidden" name="modeltype" value="<?php echo urlencode($valgt_type); ?>"> <input type="hidden" name="modelmaerke" value="<?php echo $_GET["maerke"]; ?>"> <table border="0"><tr><td colspan="2"> Alle felter skal udfyldes<br><br> <hr> <b>Personlige oplysninger:</b><br> <br> Fulde Navn:<BR> <INPUT TYPE="text" name="navn"><BR> Adresse:<BR> <INPUT TYPE="text" name="adresse"><BR> Portnummer og by:<BR> <INPUT TYPE="text" name="postnr" maxlength="4" size="4"><INPUT TYPE="text" name="city"><BR> Land:<BR> <INPUT TYPE="text" name="land"><BR> Telefon:<BR> <INPUT TYPE="text" name="telefon"><BR> Din e-mail:<BR> <INPUT TYPE="text" name="email"><BR> <br><hr><br> </td></tr><tr><td> <b>Leje Periode:</b> </td></tr><tr><td> Fra:</td><td><select name="fdag"> <option value=' '> </option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> <option value='11'>11</option> <option value='12'>12</option> <option value='13'>13</option> <option value='14'>14</option> <option value='15'>15</option> <option value='16'>16</option> <option value='17'>17</option> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> <option value='25'>25</option> <option value='26'>26</option> <option value='27'>27</option> <option value='28'>28</option> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> </select> <select name="fmaaned"> <option value=' '> </option> <option value='Januar'>Januar</option> <option value='Februar'>Februar</option> <option value='Marts'>Marts</option> <option value='April'>April</option> <option value='Maj'>Maj</option> <option value='Juni'>Juni</option> <option value='Juli'>Juli</option> <option value='August'>August</option> <option value='September'>September</option> <option value='Oktober'>Oktober</option> <option value='November'>November</option> <option value='December'>December</option> </select> <select name="faar"> <option value=' '> </option> <option value='2005'>2005</option> <option value='2006'>2006</option> <option value='2007'>2007</option> <option value='2008'>2008</option> </select> </td></tr><tr><td> Til:</td><td><select name="tdag"> <option value=' '> </option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> <option value='11'>11</option> <option value='12'>12</option> <option value='13'>13</option> <option value='14'>14</option> <option value='15'>15</option> <option value='16'>16</option> <option value='17'>17</option> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> <option value='25'>25</option> <option value='26'>26</option> <option value='27'>27</option> <option value='28'>28</option> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> </select> <select name="tmaaned"> <option value=' '> </option> <option value='Januar'>Januar</option> <option value='Februar'>Februar</option> <option value='Marts'>Marts</option> <option value='April'>April</option> <option value='Maj'>Maj</option> <option value='Juni'>Juni</option> <option value='Juli'>Juli</option> <option value='August'>August</option> <option value='September'>September</option> <option value='Oktober'>Oktober</option> <option value='November'>November</option> <option value='December'>December</option> </select> <select name="taar"> <option value=' '> </option> <option value='2005'>2005</option> <option value='2006'>2006</option> <option value='2007'>2007</option> <option value='2008'>2008</option> </select> </td> </tr><tr> <td colspan="2"><br> Afhentningssted: <select name="afd"> <option value='København V, Enghavevej'>København V, Enghavevej</option> </select> <br><br><hr> </td></tr><tr><td colspan="2"> <INPUT TYPE="hidden" name="emne" value="Ordre sendt fra hjemmeside"> <BR> <INPUT TYPE="submit" VALUE="Send Forspørgsel" name="send"> <INPUT TYPE="reset"> </form> </td></tr></table> <?php }else{ echo"Valgte model findes ikke! <a href=\"". $_SERVER["PHP_SELF"] ."?type=". urlencode($valgt_type) ."\">Tilbage</a>"; } } }else{ echo"Requested modeltype findes desværre ikke"; } } ?> </form>
10. juni 2005 - 14:09
#10
Hov, det var sgu den forkerte tabel jeg fik lavet dump fra! :O) CREATE TABLE `biler` ( `id` int(11) NOT NULL auto_increment, `biltype` varchar(255) NOT NULL default '', `maerke` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ; # # Data dump for tabellen `biler` # INSERT INTO `biler` VALUES (1, 'Lille personbil', 'Skoda'); INSERT INTO `biler` VALUES (2, 'Lille personbil', 'Fiat 127'); INSERT INTO `biler` VALUES (3, 'Lille personbil', 'Toyota corolla'); INSERT INTO `biler` VALUES (4, 'Stor personbil', 'Mercedes sedan'); INSERT INTO `biler` VALUES (5, 'Stor personbil', 'Volvo 745'); INSERT INTO `biler` VALUES (6, 'Stor personbil', 'Aston Martin DB9'); INSERT INTO `biler` VALUES (7, 'Stor kassevogn', 'WV LT 35'); INSERT INTO `biler` VALUES (8, 'Stor kassevogn', 'Mercedes VITO'); INSERT INTO `biler` VALUES (9, 'Lille kassevogn', 'Toyota LiteAce'); INSERT INTO `biler` VALUES (10, 'Lille kassevogn', 'Toyota Hiace');
10. juni 2005 - 17:22
#11
takker :D
10. juni 2005 - 17:47
#12
du får lige et svar!
11. juni 2005 - 08:29
#13
Her er en anden variation: <?php // connect til DB $hent = mysql_query("SELECT DISTINCT(biltype) FROM biler") or die( "Unable to select. Reason: ".mysql_error()); $car_options = array(); while ($t = mysql_fetch_object($hent)) { $get_cars = mysql_query("SELECT maerke FROM biler WHERE biltype = '". $t->biltype ."'"); while($c = mysql_fetch_object($get_cars)) { $car_options[$t->biltype][] = $c->maerke; } mysql_free_result($get_cars); } mysql_free_result($hent); function valgt($var, $control=1, $tx="checked") { if(isset($var) && urldecode($var) == $control) { return " ". $tx; } } $m_typer = array_keys($car_options); $valgt_type = ""; $valgt_model = ""; ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get"> <select name="type" onchange="this.form.submit();"> <option value="">Vælg modeltype</option> <?php foreach($m_typer as $type) { echo"\n<option value=\"". urlencode($type) ."\"". valgt($_GET["type"], $type, "selected") .">". $type ."</option>"; } ?></select> <select name="maerke" onchange="this.form.submit();"> <option value="">Vælg bilmodel</option> <?php if(isset($_GET["type"]) && in_array(urldecode($_GET["type"]), $m_typer)) { $valgt_type = urldecode($_GET["type"]); foreach($car_options[$valgt_type] as $m_maerker) { echo"\n<option value=\"". urlencode($m_maerker) ."\">". $m_maerker ."</option>"; } if(isset($_GET["maerke"]) && in_array(urldecode($_GET["maerke"]), $car_options[$valgt_type])) { $valgt_model = urldecode($_GET["maerke"]); } } ?></select></form> <form action="dinaction" method="post"> <input type="hidden" name="bil_type" value="<?php echo urlencode($valgt_type); ?>"> <input type="hidden" name="bil_model" value="<?php echo urlencode($valgt_model); ?>"> resten af din form........................................ Ved submit tjekker du jo så at bil_type og bil_model ikke er tomme Evt. kan du jo bruge noget javascript til at lave select menuen ud af array'et $car_options[$t->biltype][] for at vise din select menu et andet sted Men her er jeg stået af! :O)
11. juni 2005 - 12:02
#14
Forresten, det kan gøres så'n: // connect til DB $hent = mysql_query("SELECT biltype, maerke FROM biler GROUP BY (maerke) ORDER BY biltype") or die( "Unable to select. Reason: ".mysql_error()); $car_options = array(); while ($t = mysql_fetch_object($hent)) { $car_options[$t->biltype][] = $t->maerke; } mysql_free_result($hent);
14. juni 2005 - 22:40
#15
Okey... - nu bruger jeg et kald fra min forside hvor jeg inkluderer en side på denne måde index.php?page=inc/SIDE.php hvis vi nu kalder ovenstående kode for (det første eksembel) lejeform.php - hvordan henter jeg så alle ?type= og ?maerke= ud som index.php?page=inc/lejeform.php&type=TYPE&maerke=MÆRKE Mvh 44fire44
Vi tilbyder markedets bedste kurser inden for webudvikling