online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon ClaudiaGauss vom 24.03.2022, 22:57 Options

Lösung

Hilfe !!! Datum Abfrage mit PHP

Ich finde die Lösung nicht,- bin schon ganz konfus :-(

Dabei ist es sicher einfach:

ICh lese eine DATETIME Tabelle aus.
Darin ist also ein Datum (auch mal das von Heute) in dem Format:

xxxx-mm-dd 00:00

Nun will ich mit einer Abfrage prüfen, ob ein Tag, der HEUTIGE Tag ist:

$datum=$row[termin_datum];
if($datum == date("Y-m-d")) {echo"Heute";}
Nur klappt das nicht!
Wohl, weil immer die Minuten auch mitgeprüft werden und nicht nur der Tag.
Aber wie muss ichs den machen??
Bitte um Hilfe!

ClaudiaGauss aus Wien


Antwort schreiben

Antwort 1 von supporter2010 vom 25.03.2022, 06:11 Options

<?
 
 $datetimeEntry='2010-03-25 05:12';
 
 // Datetime - Datum in array einlesen
 preg_match('/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})/',$datetimeEntry,$datetimeEntryPart);
 
/* 
INFO: Was wird wo gespeichert?

echo $datetimeEntryPart[0] ."<br/>".       //Vollständiger Datumswert wie in Datetime
	  $datetimeEntryPart[1] ."<br/>".		 //Jahr
	  $datetimeEntryPart[2] ."<br/>".		 //Monat
	  $datetimeEntryPart[3] ."<br/>".		 //Tag
	  $datetimeEntryPart[4] ."<br/>".		 //Stunden
	  $datetimeEntryPart[5] ;. 			 //Minuten
*/
	  
  //Aktuelles Datum in array einlesen
  $datearray=explode("-",date("Y-m-d"));

/*
INFO: Was wird wo gespeichert?

  echo $datearray[0]."<br/>"; 		//Jahr
  echo $datearray[1]."<br/>"; 		//Monat
  echo $datearray[2]."<br/>";		//Tag 
*/  
 
  //Auf heutiges Datum prüfen
  if ($datetimeEntryPart[1] == $datearray[0] && $datetimeEntryPart[2] == $datearray[1] && $datetimeEntryPart[3] == $datearray[2]) 
  { echo "Der DATETIME-Eintrag ist von heute!";}  
  
?>



Oder in Kurzform, ohne alle Kommentare:
<?
$datetimeEntry='2010-03-25 05:12';

// Datetime - Datum in array einlesen
preg_match('/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})/',$datetimeEntry,$datetimeEntryPart);

//Aktuelles Datum in array einlesen
$datearray=explode("-",date("Y-m-d"));

//Auf heutiges Datum prüfen
if ($datetimeEntryPart[1] == $datearray[0] && $datetimeEntryPart[2] == $datearray[1] && $datetimeEntryPart[3] == $datearray[2])
{ echo "Der DATETIME-Eintrag ist von heute!";}

?>

Das müsste funktionieren...wenn ja, dann melde Dich als Member an, dann kannst Du mir 50 Punkte geben... ;-)

mfg, sup2010

Antwort 2 von supporter2010 vom 25.03.2022, 06:45 Options

ach ja...fast übersehen...verdammt,
PHP interpretiert Zahlen die mit 0 beginnen als Oktalzahlen, also werden zB die Zahlen 08, 09,... nicht auch als 8 oder 9 angesehen... "echo" stellt sie zwar visuell korrekt dar aber "printf" nicht, das solltest Du beachten und evt. ändern, musst Du halt mal testen. Oder vielleicht hat ja hier noch jemand einen Tip. Ich muss jetzt erstmal pennen... dann verzichte ich vielleicht besser auf die Bonuspunkte...

Antwort 3 von Supermax vom 25.03.2022, 07:55 Options


$nur_datum = substr($row['termin_datum'],0,10);
$datum_teile = explode('-',$nur_datum);
if ( $datum_teile[0] == date('Y') && $datum_teile[1] == date('m') && $datum_teile[2] == date('d') )
{
   // HEUTE
  ...
}


substr() gibt dir die ersten 10 Zeichen, also nur den Datumsteil zurück. explode() zerteilt den string YYYY-MM-DD in ein Array mit 3 Elementen ( YYYY,MM,DD ), die dann in der darauffolgenden Zeile mit dem aktuellen Datum verglichen werden
.
In mySQL kannst du auch folgendes machen:
SELECT .... , DATE(termin_datum) = CURDATE() AS ist_heute FROM ...

Dadurch hast du in deiner $row ein zusätzliches $row['ist_heute'], das den Wert 1 enthält, wenn termin_datum gleich dem aktuellen Datum ist ansonsten 0. Die Funktion DATE() gibt den Datumsanteil eines DATETIME-Feldes zurück, macht also im Prinzip dasselbe wie das substr() im obigen PHP-Code.

Antwort 4 von ClaudiaGauss vom 25.03.2022, 09:59 Options

DANKE euch beiden! Vielmals!!
Ich kenne mich aus.
Besondern dank an Supermax der mir schon mal wo geholfen hat :-)

Ähnliche Themen

PHP Hilfe
Blaberlin  21.10.2008 - 29 Hits - 9 Antworten

[php] Datum per Formular erfassen uns ins sql speichern
bastelkoenig  06.06.2009 - 470 Hits - 1 Antwort

(PHP) einen PHP-Parser mit PHP programmieren
skribbtkiddie  17.07.2009 - 355 Hits - 1 Antwort

PHP Datum
detommy  15.09.2009 - 229 Hits - 2 Antworten

PHP Abfrage für MYSQL
fisconion  18.03.2010 - 139 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026