Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 05.11.2004, 20:09
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110

Einträge von Heute aus einer MySQL DB auslesen.


Hallo zusammen.

Für TVBlogger möchte ich gerne die Titel der heute erstellten Artikel ausgeben lassen. Das ist auch alles kein Problem, es hängt nur an dem "Heute". Wie kann ich überprüfen, dass die Artikel wirklich von Heute sind?

Es muss in der Theorie ja so sein:

Code:
WHERE post_date = 'Datum von Heute'
Doch wie mache ich sowas? Denn das Problem, an dem Frederic und ich uns schon die Zähne ausgebissen haben, ist dass das MySQL Feld, in dem das Datum und die Uhrzeit gespeichert wird, ein 'datetime' Typ ist mit folgendem Format: 0000-00-00 00:00:00

Wie kann ich jetzt überprüfen, ob der Eintrag von Heute ist?
__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens
  #2  
Alt 05.11.2004, 20:13
Benutzerbild von Xenon
vBulletin.org Admin
 
Registriert seit: 09.2003
Ort: Bayern
Beiträge: 197
Code:
WHERE post_date >= '" . date('Y-m-d') . " 00:00:00' AND post_date <= '" . date('Y-m-d') . " 23:59:59'
gibt zwar nen andren weg, auch, aber ohne nachzusehn fällt mir grade der hein

__________________
Stefan Käser
Administrator von www.vbulletin.org

Das Publikum ist so einfältig, lieber das Neue als das Gute zu lesen.
Arthur Schopenhauer
  #3  
Alt 05.11.2004, 20:20
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 811
Du speicherst vorher Jahr, Tag und Monat in einer Variablen:
PHP-Code:
$today date("Y-m-d"); // Datum von heute im Format JJJJ-MM-TT
$query mysql_query("SELECT ... WHERE post_date > '".$today." 00:00:00'"); 
Ich bin mir jetzt nicht sicher, ob dein Format (0000-00-00 00:00:00) dem "JJJJ-MM-TT"-Format entspricht, evtl. musst du die date()-Funktion eben noch etwas anpassen.
Der WHERE-Ausdruck prüft einfach, ob es einen Post gibt, dessen Datum größer als der heutige Tag um 0 Uhr ist, also der von heute ist.

Ich bin mir allerdings nicht sicher, ob das so funktioniert, da ich mit datetime-Feldern noch nie gearbeitet habe.
Im Zweifelsfall gibt es ja aber immer noch das Manual:
http://de3.php.net/manual/de/function.date.php



Bis dann,

codethief

  #4  
Alt 06.11.2004, 17:24
Benutzerbild von Xenon
vBulletin.org Admin
 
Registriert seit: 09.2003
Ort: Bayern
Beiträge: 197
@codethief: erm, hab ich das nicht schon geschrieben?

ausserdem funzt dein code nicht ganz, da er ja auch ergebnisse von morgen, übermorgen usw liefern würde. (Zumindest theoretisch, wenn es solche denn gibt)

__________________
Stefan Käser
Administrator von www.vbulletin.org

Das Publikum ist so einfältig, lieber das Neue als das Gute zu lesen.
Arthur Schopenhauer
  #5  
Alt 06.11.2004, 17:28
Benutzerbild von Xenon
vBulletin.org Admin
 
Registriert seit: 09.2003
Ort: Bayern
Beiträge: 197
hab jetzt mal kurz nachgesehn, schöner sieht der code aus:

Code:
WHERE DATE(post_date) = '" . date('Y-m-d') . "'

__________________
Stefan Käser
Administrator von www.vbulletin.org

Das Publikum ist so einfältig, lieber das Neue als das Gute zu lesen.
Arthur Schopenhauer
  #6  
Alt 06.11.2004, 17:57
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110
Gut das hat auch bestens geklappt, aber ich habe da noch ein anderes kleines Problem:

Es werden jetzt nur die Einträge von heute angezeigt. Das mache ich mit folgendem Code:

Code:
<h5 class="title">Heutige Meldungen</h4>
<ul class="menu-reads">
<?php get_recent_posts(); ?>
</ul>
Das Problem ist aber, wenn es keine Meldungen am heutigen Tage gibt wird die Tabelle Leer angezeigt. Also zumindest steht die Überschrift "Heutige Meldungen" noch da.

Dazu habe ich mir eine IF Schleife in dem Template überlegt:

Code:
<?php
if ($keinenews != 1) {
echo'<br />
<h5 class="title">Heutige Meldungen</h4>
<ul class="menu-reads">';

get_recent_posts();
echo'</ul>
<br />';
?>
In der Hack Datei, wo auch die Funktion "get_recent_posts()" für die heutigen Meldungen drin sind habe ich das so realisiert:

Code:
if($result == FALSE) {  
  
    $keinenews = "1";  
  
} else {  
  
    foreach ($posts as $post) {  
        $post_title = stripslashes($post->post_title);  
        $permalink = get_permalink($post->ID);  
        $output .= $before . '<a href="' . $permalink . '">' . $post_title . '</a>' . $after;  
    }  
    echo $output;  
}
$result ist halt der Query. Der wird überprüft ob der okay ist oder leer.
Aber es entsteht immer wieder dieser Fehler:

Parse error: parse error, unexpected $ in /www/htdocs/tvblog/index.php on line 178



Wie krieg ich den gewünschten Effekt hin?



P.S: Ich hoffe ihr habt mich alle verstanden

__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens

Geändert von Daniel Richter (07.11.2004 um 14:01 Uhr).
  #7  
Alt 07.11.2004, 14:24
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 811
@Xenon: Ich hab mir wohl zu viel Zeit beim Antworten gelassen.
Theoretisch würde er sie auch von morgen anzeigen, ja - daran hab ich auch erst gedacht und hatte auch erst eine entsprechende Bedingung eingefügt, auf Grund von Sinnlosigkeit hab sie dann jedoch wieder entfernt.

@Daniel Richter:
Zitat:
Zitat von Daniel Richter
IF Schleife
Sag bitte nie wieder dieses böse Wort. if ist zwar ein Sprachkonstrukt, aber niemals eine Schleife!
Wie im BU Channel schon gesagt, konnte ich auf den ersten Blick keinen Fehler entdecken.
Zitat:
Zitat von Daniel Richter
Parse error: parse error, unexpected $ in /www/htdocs/tvblog/index.php on line 178
Und welche Zeile ist das?



Bis dann,

codethief

  #8  
Alt 07.11.2004, 14:58
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110
Okay ich habs geschafft! 3 Tage hab ich dran gesessen und nun hab ichs endlich gepackt!

Danke an alle, die mir helfen wollten *g*

__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens
  #9  
Alt 08.11.2004, 14:49
gesperrter Benutzer
 
Registriert seit: 04.2004
Beiträge: 37
ja, nur beim nächsten mal, wenn dir jemand helfen soll und du dein problem selber löst, wäre es vielleicht sinnvoll VORHER bescheid zu sagen, bevor derjenige wild über den ftp pflügt und einen nicht vorhandenen fehler sucht - hätte dich eine mail gekostet... das ist schlechter stil!

  #10  
Alt 08.11.2004, 16:27
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110
Wenn du Sascha bist, dann habe ich dir auf deine Mail geantwortet und dir gesagt, dass ich es selbst hinbekommen habe. Du hattest mich nach dem ACP Zugang gefragt und kurz danach hab ich es geschafft.

Also nicht aufregen und Posteingang durchschauen

__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens
  #11  
Alt 08.11.2004, 18:57
Benutzerbild von Xenon
vBulletin.org Admin
 
Registriert seit: 09.2003
Ort: Bayern
Beiträge: 197
Off-Topic:
Solche sachen dann in der Öffentlichkeit klären zu wollen, zeugt ebenfalls nicht von gutem Stil

__________________
Stefan Käser
Administrator von www.vbulletin.org

Das Publikum ist so einfältig, lieber das Neue als das Gute zu lesen.
Arthur Schopenhauer
Antwort


Stichworte
-

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Volltextsuche - Leistungsfähigkeit? exe Programmierung und Datenbanken 8 05.05.2004 13:05
PHP & MySQL: Lizenzkonflikte wurden gelöst Michael Przybyla Boardunity-Talk 5 06.04.2004 21:57
forenentwicklung und die neuen mysql lizenzen Björn Entwicklung und Konzeption sozialer Software 4 12.11.2003 18:33






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25