Gedankenanstoss

Ich habs mir fast schon gedacht, als ich vorhin den Text geschrieben habe :D Also Sorry! Hier nochmal mein Aktuelles Problem:

Ich habe eine Agenda.
Darin werden alle Events angezeigt, welche in der DB stehen.
Ich will bei allen Datensätzen, welche das heutige Datum haben (Also morgen das Morgige) diesen Text ausgeben:
PHP:
echo "glow=\"1\"\n";

Wie schaffe ich das jetzt? Zuerst dachte ich mir einer if/else abfrage, jetzt hast du mir aber gesagt, das muss ich schon in der Auslesung (query) der Daten definieren.

Das habe ich in einer 2ten query gemacht und dann diese abfrage in die erste abfrage "eingebaut". Das heisst, dannach müssen wieder aus der ersten query die Daten ausgelesen werden.

Das habe ich versucht zu realisieren, aber der Datensatz aus der 2ten query wird nicht innerhalb dem Datensatz der 1sten query ausgegeben, sondern ganz am Schluss.

Ich hoffe! Das war jetzt ausführlich und man versteht es. ;)
 
wenn es dir nun(so habe ich es jetzt verstanden), darum geht, wenn date dem aktuellen Datum entspricht, dieses glow auszugeben, kannst du das z.B. so machen:
Code:
SELECT *,IF(date=CURDATE(),'glow=\"1\"','')as glow FROM `tabelle`

Du erhältst dann in den Ergebnissen zusätzlich zu den Feldern aus der DB ein Element "glow".

Dieses kannst du genauso in PHP verarbeiten, wie die anderen Ergebnisse.
Wenn der Tag übereinstimmt, steht dort glow="1" drinnen, ansonsten nichts.

Es reicht also 1 Query aus für alles.
 
wenn es dir nun(so habe ich es jetzt verstanden), darum geht, wenn date dem aktuellen Datum entspricht, dieses glow auszugeben, kannst du das z.B. so machen:
Code:
SELECT *,IF(date=CURDATE(),'glow=\"1\"','')as glow FROM `tabelle`

Du erhältst dann in den Ergebnissen zusätzlich zu den Feldern aus der DB ein Element "glow".

Dieses kannst du genauso in PHP verarbeiten, wie die anderen Ergebnisse.
Wenn der Tag übereinstimmt, steht dort glow="1" drinnen, ansonsten nichts.

Es reicht also 1 Query aus für alles.

Ok, also wir meinen schon einmal dasselbe, das ist schon mal gut. Jetzt ist es aber so, dass meine Query im Moment so aussieht:

PHP:
SELECT DATE_FORMAT(a.datum, '%d.%m.%Y') AS form_datum, a.* FROM Events a ORDER BY datum

Das formatiert das Datum, ordnet das beim Datum und jetzt sollte noch das, was du geschrieben hast da irgendwie integriert werden. Aber wie?
 
PHP:
$query = "SELECT  *,
        DATE_FORMAT(datum, '%d.%m.%Y') AS form_datum,
        IF(date=CURDATE(),'glow="1"','') AS glow
            FROM Events
              ORDER BY datum";
$results = mysql_query($query);

Parse error: parse error, unexpected T_LNUMBER in ... on line 8

Line8:

PHP:
 IF(date=CURDATE(),'glow="1"','') AS glow

ist das evtl. nicht richtig, weil ich anstatt ' die gänsefüsse " benutzt habe?
 
Dann musst du die beiden Double-Quotes mit einem Backslash versehen.

Bei mir ist es schon richtig so wie es ist, weil ich SQL-Code gepostet habe...der Fehler entsteht erst in deinem PHP-Code :-)
 
Wenn du sicher bist, dass die Datumsspalte vom Typ DATE ist und dort nicht überall das heutige Datum drinnen steht, kann das nicht sein(ist einfach so) :-)

Vielleicht hast du einen Fehler bei der Ausgabe durch PHP...poste mal die betreffende Passage.
 
Zurück