Avatar billede compac Seniormester
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.
Avatar billede hmortensen Nybegynder
27. april 2007 - 17:26 #1
Din form står til post.
<?php
$her = $_POST['forestdatoer'];
echo $her;
?>
Avatar billede compac Seniormester
27. april 2007 - 17:42 #2
Jeg rettede det  - og satte citationstegnene korrekt: $her = $_POST['forestdatoer'];
Men det hjalp ikke.
Avatar billede hmortensen Nybegynder
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>
Avatar billede compac Seniormester
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.
Avatar billede hmortensen Nybegynder
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.
Avatar billede compac Seniormester
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).
Avatar billede hmortensen Nybegynder
29. april 2007 - 08:23 #7
Mangler et punktum:
row['sn'].'>
Avatar billede compac Seniormester
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?
Avatar billede hmortensen Nybegynder
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>';
Avatar billede compac Seniormester
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.
Avatar billede hmortensen Nybegynder
30. april 2007 - 15:10 #11
På side 2 burde du kunne gøre sådan her:
<?php
echo $_POST['forestdatoer'];
?>
Avatar billede compac Seniormester
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.
Avatar billede compac Seniormester
17. juni 2007 - 17:45 #13
hmm
Avatar billede compac Seniormester
09. januar 2011 - 23:15 #14
luk
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