Avatar billede kristianv Nybegynder
05. juni 2003 - 13:38 Der er 8 kommentarer og
2 løsninger

Fra Mysql til dropdown menu

Er der nogen der kan hjælpe mig med at få en række fra databasen, vist i en dropdown menu.

Kan godt få rækken gemt i en variabel, men aner ikke hvordan jeg så for den delt op, og sat ind i menuen.

Håber i kan hjælpe
Avatar billede ahv Nybegynder
05. juni 2003 - 13:42 #1
Sådan her?

<select name="navn">
<?php
$query = mysql_query("SELECT user FROM dintabel");
while($row = mysql_fetch_array($query)) {
?>
<option value="<?php echo $row[user]; ?>" ><?php echo $row[user]; ?></option>
<?php
}
?>
</select>
Avatar billede ahv Nybegynder
05. juni 2003 - 13:44 #2
Eller lidt mere overskueligt måske:

<?php
echo "<select name='navn'>";
$query = mysql_query("SELECT user FROM dintabel");
while ($row = mysql_fetch_array($query)) {
    echo "<option value='$row[user]'>$row[user]</option>W;
}
echo "</select>";
?>

Det var blot et eksempel hvor den lægger en masse brugernavne i en dropdown.
Avatar billede Slettet bruger
05. juni 2003 - 13:44 #3
Avatar billede tipsen Nybegynder
05. juni 2003 - 14:08 #4
lettere omskrevet:

<?php
define('CRLF', "\r\n");
$tmptxt = '<select name="navn">' . CRLF;
$res = mysql_query('SELECT user FROM dintabel') or die(mysql_error());
while (list($user) = mysql_fetch_row($res)) {
  $tmptxt .= "\t<option value=\"$user\">$user</option>" . CRLF;
}
$tmptxt .= '</select>' . CRLF;
echo $tmptxt;
?>
Avatar billede fangel Nybegynder
05. juni 2003 - 14:17 #5
tipsen => vigtigt med din define() istedet for bare at lave en variabel, eller skrie \r\n hver gang ;)

og for de uvidende, så står CRLF for Carridge Return. Line Feed (ikke sikker på stavningen) også kendt som "ny linie"

men er der nogen bestemt grund til at du har lavet det sådan

Morten
Avatar billede tipsen Nybegynder
05. juni 2003 - 15:01 #6
Synes bare det var nemmere at læse - og så kan jeg godt lide pæn html-kode - det er nemmere at debugge...
Avatar billede tipsen Nybegynder
05. juni 2003 - 15:02 #7
Derudover er en konstant, vist nok marginalt hurtigere i forhold til en variabel.
Avatar billede fangel Nybegynder
05. juni 2003 - 15:31 #8
OK... ;)
Avatar billede soccoro Nybegynder
06. juni 2003 - 11:28 #9
ahv, man kunne også lave den endnu mere overskuelig :P

<?php
  echo "<select name=\"navn\">";
  $query = mysql_query("SELECT user FROM <dintabel>");
  while ($row = mysql_fetch_array($query)) {
    $user = $row["user"];
    echo "<option value=\"" . $user . "\">" . $user . "</option>";
  }
  echo "</select>";
?>
Avatar billede kristianv Nybegynder
07. juni 2003 - 22:32 #10
Takker for de gode svar. Point fordelingen er baseret på at jeg brugte ahv's svar og regin for hurtigheden. Alle andre må nøjes med tak, det er fedt når man lige kan få lidt ekspert hjælp.:o)
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