Avatar billede dytti Novice
12. december 2009 - 13:18 Der er 9 kommentarer og
1 løsning

dato fra dropdown til mysql

i min php form, har jeg 3 dropdown's.
"dag" - "month" og "year"

Hvordan får jeg dem kogt sammen, så de passer i en mysqltabel kolonne "dato" med datatypen DATE?

Jeg har bla. prøvet:
$dato = $_POST['year'] .'-'. $_POST['month'] .'-'. $_POST['dag'];

Det giver bare "0000-00-00"

Har også prøvet med TIMESTAMP:
$dat = strtotime($_POST['year'] .'-'. $_POST['month'] .'-'. $_POST['dag']);

Det giver samme resultat "0000-00-00"
Avatar billede repox Seniormester
12. december 2009 - 13:32 #1
Der må mangle noget i din problemformulering?
For mig virker det som om du ikke kan få de rigtige tal med i din $_POST variabler?
Du har ikke nogen forklaring på hvad det har med din MySQL database at gøre - og vi kan ikke se hvorfor, din $_POST variabler blot indeholder 0'er.
Avatar billede dytti Novice
12. december 2009 - 14:06 #2
De 3 dropdowns indeholder flg.
"year"
2009
2010
2011 osv til 2050

"dag"
01
02
03 osv til 31

"month"
01
02
03 osv til 12

Jeg prøver så at samle dem f.eks med:
dato = $_POST['year'] .'-'. $_POST['month'] .'-'. $_POST['dag'];

$dato skal via submit puttes i en database "fangst_log", hvor kolonnen hedder "dato" og er af typen "DATE"

$qry = "INSERT INTO fangst_log(`dato`)
VALUES('$dato')";
$result = @mysql_query($qry);

Efter submit Står der kun 0000-00-00 i kolonnen "dato"
Håber at det var lidt tydeligere
Avatar billede repox Seniormester
12. december 2009 - 14:57 #3
Og du er helt sikker på at dine $_POST variabler ikke er tomme?
Hvis du laver en

echo $qry;

hvad står der så i den?
12. december 2009 - 21:09 #4
dytti, jeg tror ikke at der er noget i vejen med den kode du viser.  Jeg testede det ved at lave en lille hjemmeside og en database tabel dytti2.  I nedenstaaende kode vaelger jeg en dato, submitter formen, sender resultatet til databasen, selecter det netop postede fra databasen, og echoer det selectede.  Databasen gemmer den valgte dato korrekt.

Fejlen maa (som repox allerede antyder) ligge et andet sted, i den kode du ikke viser.

Jeg foreslaar at du afslutter dette spoergsmaal, studerer din kode, og hvis du ikke finder fejlen opretter et nyt spoergsmaal hvor du saa viser et stoerre kodeafsnit.

Her er min kode hvor jeg indsaetter din kode og som virker:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title></title>
</head>

<body>
<?
if($_POST["submit"])

  $dato = $_POST['year'] .'-'. $_POST['month'] .'-'. $_POST['dag'];
  $link = mysql_connect ('christianjorgensen.be.mysql', 'christianjoygen', 'dnyBKKbe') or die(mysql_eror());
  mysql_select_db('christianjoygen') or die('Could not select database');
  mysql_query("INSERT INTO dytti2(dato)VALUES('$dato')");
  $result=mysql_query("SELECT * FROM dytti2");
  $row = mysql_fetch_array($result);
  echo $row[0];
  mysql_close($link);
}
?>
<form action="<? print $_SERVER["PHP_SELF"];?>" method="POST">
  <select name="year">
    <option name="2009">2009</option>
    <option name="2010">2010</option>
  </select>
  <select name="dag">
    <option name="01">01</option>
    <option name="02">02</option>
  </select>
  <select name="month">
    <option name="03">03</option>
    <option name="04">04</option>
  </select>
  <input type="submit" value="submit" name="submit" />
</form> 
</body>
</html>
12. december 2009 - 21:10 #5
Hjemmesiden jeg testede paa er denne:

http://christianjorgensen.be/dytti2.php
Avatar billede dytti Novice
13. december 2009 - 18:26 #6
Jeg er lige nødt til at spørge: Bruger du/i VARCHAR eller DATE i mysql kolonnen "dato"?
13. december 2009 - 20:17 #7
DATE.
Avatar billede dytti Novice
14. december 2009 - 10:28 #8
Undskyld!
Jeg er et fæ.

Formen er delt over flere sider, og jeg havde overset et manglende "$" på sidste side.

Ked af at skulle spilde jeres tid på en dum fejl :-(

Jeg giver gerne point for "spildt tid" hvis i lægger svar.

Sry ;-)
14. december 2009 - 10:59 #9
Svar
Avatar billede repox Seniormester
14. december 2009 - 11:01 #10
Behold du bare dem selv (fra min side, ihvertfald) - du fandt jo selv løsningen...
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