Hallo PHP-Gemeinde,
ich verzweifel langsam und hoffe auf Eure Hilfe! Bevor ich mein Problem schildere eines noch vorab: Google, SuFu, etc. hab ich jetzt schon seit mehreren Tagen durchforstet und nichts gefunden. Obwohl ich eigentlich nicht der erste sein dürfte, der dieses Problem hat. Da ich PHP-Neuling bin, liegt´s vielleicht auch daran, dass ich nach den falschen Schlagworten suche. Aber nun zu meinem Problem:
Aus einem HTML-Formular erhalte ich sechs Variablen/Werte: $tag, $monat, $jahr, $endtag, $endmonat, $endjahr. Aus diesen Werten sollen zwei Daten generiert werden, ein Startdatum und ein Enddatum. Diese Daten sollen dazu dienen aus einer Datenbank die Werte auszulesen die zwischen diesen beiden Zeitpunkten liegen.
Diese Einzelwerte werden auch problemlos per $_post[] übergeben.
Nun muss ich aber aus diesen einzel Werten ein Format basteln, was der datetime (z.B. 2013-05-30 12:13:05) in meiner Mysql-Datenbank entspricht.
Das habe ich ganz pragmatisch so versucht:
Wenn ich die Werte per echo ausgebe, sieht das auch erstmal nicht schlecht aus. Aber ob das so zulässig ist... ich vermute, dass meine Herangehensweise hier schon etwas zu naiv war.
Wenn ich nach erfolgreicher Verbindung mit der Datenbank dann folgende Abfrage starte kommt im besten Falle keine Ergebnis raus und im schlechtesten ein Serverfehler:
Könnt Ihr mir helfen! Ich würde mich sehr freuen, wenn jemand von Euch einen Tipp hat. Momentan Tappe ich völlig im Dunklen, ich hab da wohl noch grundsätzliche Defizite was PHP angeht.
Zur besseren Übersicht häng ich nochmal das ganze Skript dran:
Die PHP-Version ist 5.4.4-14
Vielen DANK im voraus!!!
Gruß Thomas
ich verzweifel langsam und hoffe auf Eure Hilfe! Bevor ich mein Problem schildere eines noch vorab: Google, SuFu, etc. hab ich jetzt schon seit mehreren Tagen durchforstet und nichts gefunden. Obwohl ich eigentlich nicht der erste sein dürfte, der dieses Problem hat. Da ich PHP-Neuling bin, liegt´s vielleicht auch daran, dass ich nach den falschen Schlagworten suche. Aber nun zu meinem Problem:
Aus einem HTML-Formular erhalte ich sechs Variablen/Werte: $tag, $monat, $jahr, $endtag, $endmonat, $endjahr. Aus diesen Werten sollen zwei Daten generiert werden, ein Startdatum und ein Enddatum. Diese Daten sollen dazu dienen aus einer Datenbank die Werte auszulesen die zwischen diesen beiden Zeitpunkten liegen.
Diese Einzelwerte werden auch problemlos per $_post[] übergeben.
Nun muss ich aber aus diesen einzel Werten ein Format basteln, was der datetime (z.B. 2013-05-30 12:13:05) in meiner Mysql-Datenbank entspricht.
Das habe ich ganz pragmatisch so versucht:
PHP-Code:
$abfrage = ($jahr . "-" . $monat . "-" . $tag . " " . "00:00:00");
$endabfrage = ($endjahr . "-" . $endmonat . "-" . $endtag . " " . "23:59:59");
Wenn ich nach erfolgreicher Verbindung mit der Datenbank dann folgende Abfrage starte kommt im besten Falle keine Ergebnis raus und im schlechtesten ein Serverfehler:
PHP-Code:
$res = mysql_query("SELECT * FROM `templog` WHERE `datetime` >= $abfrage AND 'datetime' <= $endabfrage");
$num = mysql_num_rows($res);
echo "$num Datensätze gefunden<br />";
echo $res
Zur besseren Übersicht häng ich nochmal das ganze Skript dran:
PHP-Code:
<?php
$tag = $_POST["tag"];
$monat = $_POST["monat"];
$jahr = $_POST["jahr"];
$endtag = $_POST["endtag"];
$endmonat = $_POST["endmonat"];
$endjahr = $_POST["endjahr"];
$abfrage = ($jahr . "-" . $monat . "-" . $tag . " " . "00:00:00");
$endabfrage = ($endjahr . "-" . $endmonat . "-" . $endtag . " " . "23:59:59");
echo $abfrage;
echo $endabfrage;
$db_host = "localhost";
$db_username = "xxx";
$db_pass = "xxx";
$db_name = "temp";
@mysql_connect ("$db_host", "$db_username", "$db_pass") or die ("Keine Verbindung!");
@mysql_select_db("$db_name") or die ("Datenbank nicht gefunden!");
$res = mysql_query("SELECT * FROM `templog` WHERE `datetime` >= $abfrage AND 'datetime' <= $endabfrage");
$num = mysql_num_rows($res);
echo "$num Datensätze gefunden<br />";
echo $res
//while ($dsatz = mysql_fetch_assoc($res))
//{
//echo $dsatz["datetime"] . ", " . $dsatz["temp"] . "<br />";
//}
echo "Mit Datenbank verbunden!";
Vielen DANK im voraus!!!
Gruß Thomas
Kommentar