27. april 2007 - 17:23
Der er
13 kommentarer og 1 løsning
Problemer med listbox
Jeg har en listbox som jeg fylder op med data fra en database. I koden bliver databasens dato også lige vendt en omgang: <html> <head> </head> <body> <form method="post" action="test2.php"> <?php include("../conn.php"); echo "<select name=\"forestdatoer\">"; $sql="select * from $branch order by sn"; $result=mysql_query($sql) or die(mysql_error()); while($row=mysql_fetch_array($result)) { list($year, $month, $day) = split('[-.]', $row['premiere']); $date = "$day-$month-$year"; echo '<option value="'.$sn.'">'.$date.''.$row['titel'].'</option>'; } echo "</select>"; echo '<input type="hidden" name="dat[]" value="'.$date.'">'; echo '<input type="submit" name="save" value="OK">'; ?> </body> </html> Side 2: <?php $her = "$_GET[forestdatoer]"; echo "$her "; ?> Listboxen står med inhold som den skal, men der sker ikke noget når jeg vælger et punkt og trykker OK.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. april 2007 - 17:26
#1
Din form står til post. <?php $her = $_POST['forestdatoer']; echo $her; ?>
27. april 2007 - 17:42
#2
Jeg rettede det - og satte citationstegnene korrekt: $her = $_POST['forestdatoer']; Men det hjalp ikke.
28. april 2007 - 09:17
#3
Prøv at indsætte følgende på side 2 og paste resultatet her ind. <pre> <?php print_r($_POST); ?> </pre>
28. april 2007 - 14:30
#4
Resultat af print_r($_POST); Array ( [$_POST] => Array ( [forestdatoer] => ) [dat] => Array ( [0] => 27-05-2007 ) [save] => OK ) Datoen 27-05-2007 er den sidste i tabellen. - og den er den samme uanset hvad jeg vælger i listboxen.
28. april 2007 - 16:53
#5
value="'.$sn.'"> skal vel være: value="'.$row['sn'].'"> Formoder det er en værdi fra databasen. At du får den sidste dato tilbage, er fordi du sætter den i det skjulte felt.
28. april 2007 - 17:13
#6
Jeg har skrevet sådan: echo '<option value='.$row['sn']'>'.$date.''.$row['titel'].'</option>'; - men der kommer en syntaxfejl. Jeg kan ikke gennemskue hvad den skyldes. Fejlmeddelelsen ser sådan ud: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\server\Apache2\htdocs\test\test1.php on line 15 (linie 15 er ovenstående sætning).
29. april 2007 - 08:23
#7
Mangler et punktum: row['sn'].'>
29. april 2007 - 14:50
#8
Ja, det første man bliver blind på, det er øjnene. Jeg har nu lavet en lille korrektion således, at dato og titel kommer med over til side 2. echo '<option value='.$date.''.$row['titel'].'>'.$date.''.$row['titel'].'</option>'; Hvis der forekommer flere ord i "titel" er det kun det første der kommer med. Hvad kan det skyldes?? En anden ting angående mellemrum. Hvordan får jeg sat mellemrum ind mellem dato og titel i selve listboxen?
29. april 2007 - 16:34
#9
SÅdan her, så burde den være der. echo '<option value="'.$date.''.$row['titel'].'">'.$date.' '.$row['titel'].'</option>';
30. april 2007 - 13:14
#10
Ja, nu står der de korrekte data på side2. Men jeg troede, at din kode: <pre> <?php print_r($_POST); ?> </pre> -så kunne fjernes. Men hvis jeg gør det bliver side2 helt blank, når programmet køres. Jeg troede,at oplysningerne skulle ligge i sætningen: $her = $_POST['forestdatoer']; - men der er åbenbart ikke tilfældet.
30. april 2007 - 15:10
#11
På side 2 burde du kunne gøre sådan her: <?php echo $_POST['forestdatoer']; ?>
30. april 2007 - 17:29
#12
Desværre kommer der ikke noget. Jeg tænkte at fejlen lå i select-sætningen på side1, så jeg rettede punktummer og apostroffer således: echo '<select name="' . $_POST['forestdatoer'].'">'; Men det gør desværre ingfen forskel.
17. juni 2007 - 17:45
#13
hmm
09. januar 2011 - 23:15
#14
luk
Vi tilbyder markedets bedste kurser inden for webudvikling