Was ist falsch?

  • Themenstarter Themenstarter baby0101
  • Beginndatum Beginndatum
B

baby0101

Hallo,

Ich habe ein code der auf die mysql DB zugreift. Ich habe eine tabelle namens datum. nun möchte ich das wenn heute das datum gleich mit dem datum in der db ist dan soll er lol ausgeben

hier mein code:
PHP:
<?php
include("includes/_config.php");

$query = mysql_query("SELECT * FROM eingabe");
while($datum = mysql_fetch_object($query)) {
$timestamp = time();
$time = date("H:i",$timestamp);
$date = date("d.m.y",$timestamp);
echo "$line[datum]";
}
if ($date == ($line[datum])) {
echo "lol";
}
mysql_close;
?>

was ist daran falsch?
 
ich verstehe nur bahnhof

es eht leider immer noch

ist noch was anderes falsch?
 
Heisst nicht MySQL-Fetch_Opject das du somit auf ein Opjekt zufreifst und auf kein Array?

Müsste es dann nicht quasi so lauten

PHP:
<?php
$link->datum;
?>

oder irre ich mich da?
 
in PHP arebitet man normalerweise mit timestamps.
Diesen kann man auch aus einem MySQL-Datum erstellen.
Zum Vegleichen ist dies leider nicht ganz einfach. Am besten lässt sich das reine Datum als String vergleichen.


PHP:
if (date('Ymd', time()) == date('Ymd', strtotime($line->datum)) {
	echo "lol";
}

date('Ymd', time())
aus dem Unix-Timestamp für jetzt ein String erstellen -> 20100312

strtotime($line[datum])
Aus dem MySQL-Datum ein Unix-timestamp erstellen

date('Ymd', strtotime($line->datum)
Aus dem Unix-Timestamp welches wir aus derm MySQL-Datum erstellt haben einen String erstellen

Zusätzlich sollte dein if wohl innerhalb der while-Schleife sein oder willst du nur die letzte Zeile deiner Tabelle 'eingabe' prüfen?

Und ja, Lenox hat recht... es ist ein Object. Also mit -> zugreiffen
 
Hallo,

Ich habe ein code der auf die mysql DB zugreift. Ich habe eine tabelle namens datum. nun möchte ich das wenn heute das datum gleich mit dem datum in der db ist dan soll er lol ausgeben

hier mein code:
PHP:
<?php
include("includes/_config.php");

$query = mysql_query("SELECT * FROM eingabe");
while($datum = mysql_fetch_object($query)) {
$timestamp = time();
$time = date("H:i",$timestamp);
$date = date("d.m.y",$timestamp);
echo "$line[datum]";
}
if ($date == ($line[datum])) {
echo "lol";
}
mysql_close;
?>

was ist daran falsch?

Dazu müsste man wissen wie Du das Datum in der DB speicherst.
Davon abgesehen verwendest Du als "mysql_fetch_object()" aber greifst wie auf ein Array zu.
falsch ist:
PHP:
echo "$line[datum]";

richtig wäre:
PHP:
echo "$datum->datum";
 
Ich habe es nun so gemacht:
PHP:
<?php
	include ("includes/_config.php");	
		$result = mysql_query("SELECT * FROM eingabe");
			while ($line = mysql_fetch_array($result)) {
		
		$timestamp	= time();
		$time		= date("H:i",$timestamp);
		$date		= date("d.m.Y",$timestamp);

		if($line[datum] ==($date)){

			$timestamp	= time();
			$date		= date("d.m.Y",$timestamp);
			
        	$sql = ("DELETE FROM eingabe WHERE datum = '$date'");
			$result = mysql_query($sql);	
	}		
}
mysql_close();
?>

jetzt kommt aber eine Fehlermeldung.

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\script\web\test.php on line 7


Ich habe mehrere einträge mit dem datum.

Wie löse ich es nun?

Mit freundlichen Grüßen
 
Das heißt, dass deine Anfrange mit mysql_query() fehlgeschlagen ist. Deshalb solltest du mal nachsehen, was MySQL für einen Fehler entdeckt hat, also schreib mal lieber die Zeile so:
PHP:
$result = mysql_query('SELECT * FROM `eingabe`') or die(mysql_error());
 
Fehlermeldung:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\...\test.php on line 4
 
Ja, dass haben wir schon verstanden. Deshalb sollst du uns doch auch mal zeigen, was dir die Funktion mysql_error() ausgibt.
 
Zurück