Php SQL Query

druckgott

Erfahrenes Mitglied
Hallo, leider hab ich bis jetzt die Lösung auch mit viel Googlen nicht selbst hinbekommen.

Mein Datenbank hat Bild mit passendem Datum gespeichert:

File Date
bild1 2013-05-20 06:01:00
bild2 2013-05-21 08:01:00
bild3 2013-05-22 06:08:00

Jetzt habe ich eine Form gemacht, die Folgende Values hat.

1. Tag
2. Tag
3. Tag
....

Ich würde jetzt gerne bei Auswahl des zweiten Tage, wenn aktuell das Datum 22.05. ist das Bild 2 haben
beim 3. Tag das Bild 3 und beim ersten Tag das Bild 1

$results = mysql_query("SELECT * FROM `webcam1` WHERE date ..........") or die(mysql_error());

Ich habe nur geschaft von aktuell bis Tag 2 z.B.

Leider bekomme ich das nicht hin.
mfg
druckgott
 
Hi,

auf die schnelle würde ich etwas in dieser Richtung vorschlagen. (Ist nicht getestet, sollte auf diese Art aber funktionieren)

PHP:
$dayCount = 1; //Anzahl der Tage um die verschoben werden soll
$curDate =  strtotime(date("Y-m-d", time()));
$startTime= $curDate + ($dayCount * 86400);

$results = mysql_query("SELECT * FROM `webcam1` WHERE date BETWEEN '".date("Y-m-d 00-00-00", $startTime)."' AND '".date("Y-m-d 23-59-59", $startTime)."') or die(mysql_error();

Als Tipp würde ich mir mal mysqli angucken. http://www.php.net/mysqli

LG
Nino
 
Hi, geht super ich hab es noch etwas geändert, und irgndwie waren zwei syntax fehler drin, aber vielen dank:

PHP:
	if(isset($_POST['select_day']))
	{
	$shown_day = $_POST['select_day'];
	}




$curDate =  strtotime(date("Y-m-d", time()));
$startTime = $curDate - ($shown_day * 86400);
$dayCount = 1; //Anzahl der Tage um die verschoben werden soll
//$startTime = $curDate - ($dayCount * 86400);

$start=date('Y-m-d 00:00:00', $startTime);
$ende=date('Y-m-d 23:59:59', $startTime);
echo "Start $start | Ende $ende<br>";
$results = mysql_query("SELECT * FROM `webcam1` WHERE date BETWEEN '$start' AND '$ende' LIMIT 0, $shown_pic") or die(mysql_error());

mfg
druckgott
 
Zurück