You are not logged in.

  • Login

1

Thursday, October 28th 2010, 10:05pm

Eintraege nach Datum filtern

Hallo,

ich brauche eure Hilfe.
Ich habe eine MySQL-Tabelle "blackboard" mit folgenden Spalten:
- id (int)
- nick (string)
- msg (text)
- stime (string)

Die Spalte 'stime' speichert ein Datum als Timestamp (php-Methode: time()).

Ich moechte die Daten wie folgt ausgeben:

- Datum 1
- Eintrag 1
- Eintrag 2
- Datum 2
- Eintrag 1
- Eintrag 2

Beispiel:

- 28. Oktober 2010
- Eintrag 1
- Eintrag 2
- 26. Oktober 2010
- Eintrag 1
- Eintrag 2
- 25. Oktober 2010
- Eintrag 1
- Eintrag 2

Wie im Beispiel zu sehen ist, gibt es nicht jeden Tag einen Eintrag. Wie gebe ich das mit Hilfe von PHP aus?
Habt ihr ein Code-Beispiel fuer mich?

Lieben Gruß und vielen, vielen Dank im Voraus.
waerp

2

Friday, October 29th 2010, 8:51am

Hi,
du solltest die Zahl wirklich als Integer - statt als String speichern.

Ansonsten brauchst du die MySQL Funktion: FROM_UNIXTIME, siehe http://dev.mysql.com/doc/refman/5.1/en/d…n_from-unixtime

Beispiel

SQL Code

1
2
3
4
5
6
SELECT		id,
		nick,
		msg,
		DATE(FROM_UNIXTIME(stime)) AS datum,
		TIME(FROM_UNIXTIME(stime)) AS uhrzeit
FROM		deine_tabelle

3

Friday, October 29th 2010, 9:19am

Das ist mir klar, aber wie gebe ich aus, dass da mehrere Beitraege unter einem Datum stehen? Das ist nur mein Problem :(
Trotzdem danke fuer die Antwort. :)

4

Friday, October 29th 2010, 2:00pm

Als Ergänzung zu d0nuts Code:

SQL Code

1
2
ORDER BY datum DESC
ORDER BY uhrzeit ASC

5

Friday, October 29th 2010, 5:23pm

Habs schon anders geloest, danke euch trotzdem.. hier die Loesung:

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(...)
 
$sql = "SELECT * FROM blackboard ORDER BY stime DESC";
$result = @mysql_query($sql);
 
while ($row = @mysql_fetch_array($result)) {
  	$date = date("d.m.Y", $row['stime']);
 
          if ($oldDate != $date) {
		  print '<li data-role="list-divider">'.date("d.m.Y", $row['stime']).'</li>';
	  }
 
          (..Ausgabe..)
 
         $oldDate = $date;
 
}
 
(...)

Similar threads

Social bookmarks