Avatar billede compac Seniormester
26. januar 2009 - 15:53 Der er 13 kommentarer og
1 løsning

Listbox problem

Jeg har en listtbox, som bliver dannet ved udtræk fra en database.

<form method="POST" action="udskriv.php">
<?php
include("conn.php");
$sql="select titel from $branch";
$result=mysql_query($sql) or die(mysql_error());
echo "<select name=student>";
            while($row=mysql_fetch_array($result))  {
            $title = $row['titel'];
            echo "<option value=$title>$title</option>";
}
echo "</select><br><br>";
?>
<input type="submit" value="send" name="<?php echo $student; ?>">


Resultatet udskrives i et script:

<?php
$tit = $_POST['student'];
echo "$tit";
?>

-men det er kun det første ord i sætningen, der udtrækkes, som udskrives.

Hvordan får jeg det hele med?
Avatar billede hmortensen Nybegynder
26. januar 2009 - 15:59 #1
value="værdi" og ikke value=værdi
Avatar billede olebole Juniormester
26. januar 2009 - 15:59 #2
<ole>

Du skal nok overveje at overholde HTML-standarden  ;o)
    echo "<option value='".$title."'>$title</option>";

/mvh
</bole>
Avatar billede compac Seniormester
26. januar 2009 - 16:11 #3
Ja, det er en kommentar til eftertanke olebole. Nu er det OK. Læg et svar.
Avatar billede compac Seniormester
26. januar 2009 - 16:46 #4
Lige et tillægsspørgsmål.
Hvordan får jeg trukket tabellens kolonne med "id" ud, uden at det bliver udskrevet?
Avatar billede hmortensen Nybegynder
26. januar 2009 - 16:48 #5
SELECT id, title FROM $branch
Avatar billede compac Seniormester
26. januar 2009 - 17:19 #6
Ja, den skal naturligvis med i selectsætningen. Men hvordan skjuler jeg den i listboxen?
Avatar billede hmortensen Nybegynder
26. januar 2009 - 17:23 #7
Du kan sætte value til id.
Avatar billede compac Seniormester
26. januar 2009 - 17:42 #8
Ja men jeg spørger om, hvordan BÅDE id og title trækkes ud og kan vælges i listboxen.
Det skal ske i samme transaktion - og id skal være skjult.
Avatar billede hmortensen Nybegynder
26. januar 2009 - 17:54 #9
Du kan ikke vælge noget der er skjult.
Det du skriver giver ingen mening.

Normal måde at lave sådan nogle ting på er at sætte value til id og sætte tekst/title til at blive vist.
Avatar billede majbom Novice
26. januar 2009 - 20:18 #10
hvis du sætter value til id og sætter title imellem <option> og </option>, så vil brugeren se title men det er id der bliver sendt videre til validering eller hvad du nu gør med formen efter udfyldelse
Avatar billede compac Seniormester
23. februar 2009 - 21:47 #11
OK læg nogle svar
Avatar billede majbom Novice
25. februar 2009 - 14:20 #12
svar
Avatar billede erikjacobsen Ekspert
25. februar 2009 - 14:48 #13
Du (og Ole!) skal være opmærksom på at hvis din værdi indeholder HTML-giftige tegn, så vil

echo "<option value='".$title."'>$title</option>";

gå galt. Du skal derfor, fx.

echo "<option value=\"".htmlentities($title)."\">htmlentities($title)</option>";

Hvis du giver value en værdi fra et talfelt, behøver du ikke ulejlige dig med den slags.
Avatar billede erikjacobsen Ekspert
25. februar 2009 - 14:49 #14
Ok, det var lige knap korrekt:

echo "<option value=\"".htmlentities($title)."\">".htmlentities($title)."</option>";
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