php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.03.2006, 12:32  
xXx
Erfahrener Benutzer
 
Registriert seit: 06.11.2003
Beiträge: 136
xXx
xXx eine Nachricht über ICQ schicken
Standard getdate ausgabe sortieren

Mahlzeit!

ich hab eine datenbank wo nachrichten per time() als datum/zeitformat endhalten sind.

Ich möchte eine ausgabe erzeugen die wie folgt aussieht.

Freitag, 10.10.2001
nachricht 1
nachricht 2
nachricht 3
Donnerstag, 09.10.2001
nachricht 1
nachricht 2
nachricht 3

wie mache ich das?

klar ist wenn ich getdate($row["time"]) habe und den array mit Montag, Dienstag... Aber wie geht das mit der tagessortierung?

danke im voraus!
xXx ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.03.2006, 13:35  
Gast
 
Beiträge: n/a
Standard

Lass die Datenbank sortieren. Dafür ist sie da.
Was für eine ist es denn?
 
Alt 19.03.2006, 13:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du sortierst das MySQL-Statement nach dem Datum und bei der PHP-Ausgabe per while($line = mysql_fetch_*(..)) merkst du dir das Datum des vorherigen Schleifendurchlaufs mittels einer Hilfsvariable.
Wenn es das selbe Datum ist schreibe das Datum nicht explizit aus, sondern nur die Nachricht.
Wenn es ein anderes Datum ist, gebe zusätzlich zur Nachricht noch das Datum aus.
Zergling-new ist offline  
Alt 19.03.2006, 14:51  
xXx
Erfahrener Benutzer
 
Registriert seit: 06.11.2003
Beiträge: 136
xXx
xXx eine Nachricht über ICQ schicken
Standard

das andere ist ja sowei auch klar so funzt es auch soweit, mein ziel ist es mit der while schleife eine sortierung zu machen das ganze so ausehen lässt:

xXx ist offline  
Alt 19.03.2006, 14:56  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hast du mein Posting überlesen oder nicht verstanden? :wink:
Zergling-new ist offline  
Alt 19.03.2006, 15:06  
xXx
Erfahrener Benutzer
 
Registriert seit: 06.11.2003
Beiträge: 136
xXx
xXx eine Nachricht über ICQ schicken
Standard

bin grad wieder aufgestanden

z.B.
PHP-Code:
<?php
// Natürlich findet hier die Auswahl der DB statt 
$wochentag = array("Sonntag""Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag");
$monat = array("Januar""Februar""März""April""Mai""Juni""Juli""August""September""Oktober""November""Dezember");
$Jetzt =getdate($row["time"]);
echo 
$wochentag[$Jetzt["wday"]], " den ";
echo 
$Jetzt["mday"], ". ";
echo 
$monat[$Jetzt["mon"]-1], " ";
echo 
$Jetzt["year"], 
 "
;

while(
$row mysql_fetch_array($result))
    {
        echo 
'<span class="prv">' date("H:i:s"$row["time"]) . '</span>';
    }
?>
Bis dahin hab ich es noch verstanden....
xXx ist offline  
Alt 19.03.2006, 15:31  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Naja in die whileschleife baust du jetzt noch eine Abfrage ein die den letzten Wert überprüft.

z.Bsp:

PHP-Code:
<?php

while($row mysql_fetch_array($result))
    {
         
// Wenn die Zeit nicht der Zeit der jetzigen Nachricht enstspricht  soll das Datum ausgegeben werden 
         // $last_time wird unten definiert
         
if($row['time'] != $last_time
          { 
             echo 
'<span class="prv">' date("H:i:s"$row["time"]) . '</span>';
             
$last_time $row['time']; // falls es eine neue Zeit ist soll die Variable für die nächste Abfrage geändert werden
          
}
    } 

?>
So müsste es eigentlich funktionieren!
Hab es nicht getestet!


Gruß SimonErich
__________________
Der G-Translator
Simon9990 ist offline  
Alt 19.03.2006, 17:13  
xXx
Erfahrener Benutzer
 
Registriert seit: 06.11.2003
Beiträge: 136
xXx
xXx eine Nachricht über ICQ schicken
Standard

soweit so gut, aber ich bekomme die wiedergabe nicht das er mir anzeigt zu welchen datum die news gehören

PHP-Code:
<?php
$today 
getdate(); 

while(
$row mysql_fetch_array($result)) 
    { 
        
$dayDB getdate($row["time"]);
        
$day $wochentag[$dayDB["wday"]];
        
$dayDate $dayDB["mday"];
        
$month $monat[$dayDB["mon"]-1];
        
$jear $dayDB["year"];
        
        if(
$day == $wochentag[$today["wday"]] && $dayDate == $today["mday"] && $month == $monat[$today["mon"]-1])
        {
            echo 
'xxx
'
;
        }
        else
        {
            echo 
$day '
'
;
        }
    }
?>
Ergebnis:
xxx
xxx
xxx
Samstag
Samstag
Freitag
Freitag
Freitag
Donnerstag
Donnerstag
Donnerstag
Donnerstag

So sollte es ausehen:
PHP-Code:
Freitag10.10.2001 
nachricht 1 
nachricht 2 
nachricht 3 
Donnerstag
09.10.2001 
nachricht 1 
nachricht 2 
nachricht 3 
Edit by Zergling:
Code-Formatierung, bitte nächstesmal selbst machen
xXx ist offline  
Alt 19.03.2006, 21:48  
xXx
Erfahrener Benutzer
 
Registriert seit: 06.11.2003
Beiträge: 136
xXx
xXx eine Nachricht über ICQ schicken
Standard

keiner eine Antwort?
xXx ist offline  
Alt 19.03.2006, 22:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du hast das Prinzip nicht verstanden, oder warum gibst du bei einem Schleifendurchlauf nur das Datum und nicht noch zusätzlich die Nachricht selbst an?
Die Zuordnung Nachricht/Datum ist doch durch den Datenbank-Inhalt bereits gegeben. Nur 1x gibst du das Datum zusätzlich zur Nachricht aus und einmal nicht (denn eine News mit dem selben Datum hat dies bereits getan).

Was klappt denn an Simon9990's Lösung nicht?
Zergling-new ist offline  
 


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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MYSQL daten bei der ausgabe sortieren DrWeb Datenbanken 2 29.07.2006 10:09
DECIMAL lässt sich nicht mit ORDER BY sortieren buggybugga Datenbanken 4 07.07.2006 15:43
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Ausgabe nach häufigkeit eines Treffers sortieren axelnes Datenbanken 1 17.02.2006 12:14
Ordnernamen nach Ausgabe sortieren PHP Tipps 2006 11 03.01.2006 21:31
Ausgabe im Array sortieren PHP Tipps 2007 7 03.11.2005 17:38
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
Ordner auslesen, Ausgabe nach dem Datum sortieren PHP Tipps 2005-2 10 02.07.2005 17:18
ausgabe sortieren, aber nich nach alphabet,etc. Unbekanntes_Pferd Datenbanken 4 29.03.2005 12:33
Array mit Gruppen: Wie Sortieren PHP Tipps 2005 2 29.01.2005 15:15
Ausgabe nur dann, wenn htmlspecialchars() verwendet PHP Tipps 2004 1 27.10.2004 21:17
Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22
[Erledigt] Ausgabe alphabetisch sortieren Datenbanken 2 07.07.2004 13:36
[Erledigt] Sortieren?? Datenbanken 9 03.07.2004 19:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
getdate ausgabe, php datum getdate, php?nachricht=1

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.