| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

14-10-2009, 22:48
|
|
snorpey
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
Einträge pro Tag aus der Datenbank anzeigen
Hallo.
Ich habe meiner MySQL-Datenbank eine Tabelle mit den Feldern date, type, und value. Die Daten im Feld date sind im Format "YYYY-mm-dd HH:ii:ss" gespeichert, die Daten in den Feldern type und value sind jeweils Strings.
Für eine Statistik-Seite würde ich mit PHP eine Auswertung pro Tag erstellen, so dass ich zum Beispiel folgendes ausgeben kann:
"2009-10-14: 23 Einträge mit value=foo und 244 Einträge mit value=bar"
Wie sollte ich da am besten vorgehen?
|

14-10-2009, 22:55
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
für sowas kann man group by ... (with rollup) verwenden. Den Datumsteil des Zeitstempels bekommst du mit der date-Funktion. Das "with rollup" macht Sinn, wenn du auch gleich die Gesamtanzahl der Einträge pro Tag wissen willst.
Gruß,
Amica
|

14-10-2009, 23:12
|
|
snorpey
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
Danke für die schnelle Hilfe, ich werde es gleich mal ausprobieren.
|

15-10-2009, 22:00
|
|
snorpey
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
Wie kann ich diejenigen Tage anzeigen anzeigen lassen, an denen nichts eingetragen wurde?
|

15-10-2009, 22:12
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
wenn du nicht eine Datumstabelle hast, in der alle Tage drin stehen (macht normalerweise eh keinen Sinn), musst du mit PHP diese Daten generieren und einzeln selektieren.
Gruß,
Amica
|

01-11-2009, 00:30
|
|
snorpey
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
Hmm..
Irgentwie komme ich hier nicht weiter, diese Datumsfunktionen wonnen nicht so wie ich.
Im Moment verwende ich folgenden Code:
PHP-Code:
<?php $query_live = "SELECT * FROM `" . $db_prefix . "live` ORDER BY `date` DESC"; $result_live = mysql_query($query_live) or die(mysql_error()); $dates = array( 0 => array( "dat" => date("Y-m-d"), "cnt" => 12 ) ); while($live = mysql_fetch_object($result_live)) { $dateParts = split(" ", $live->date); $date = $dateParts[0]; if($date != $dates[count($dates) - 1]) { $index = count($dates); $dates[$index]["dat"] = $live->date; $dates[$index]["cnt"] = mysql_num_rows(mysql_query("SELECT COUNT(*) FROM `" . $db_prefix . "live` WHERE `date` = '" . $date . "'")); } } echo mysql_error(); ?> <pre> <?=print_r($dates)?> </pre>
Folgendes kommt dabei heraus: LINK
Kann mir jemand helfen? Wie gesagt, hätte ich gerne für jeden Tag die Ausgabe: "2009-10-14: 23 Einträge mit value=foo und 244 Einträge mit value=bar"
Geändert von snorpey (01-11-2009 um 00:32 Uhr)
|

07-11-2009, 12:40
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
in deiner Abfrage sehe ich kein group by und im PHP-Code keine Schleife, die Datumswerte erzeugt. Solange du die Dinge, die dir bereits gesagt wurden, nicht berücksichtigst, ist es nicht möglich, dir weiterzuhelfen. Ich könnte dir jetzt nochmal dasselbe erzählen, was ich dir in den letzten Beiträgen schon gesagt habe, aber helfen würde das doch auch nicht.
Wenn du dich mit den Antworten beschäftigt hast und ich dafür wenigstens Ansätze im Code sehe oder aber konkrete Fragen dazu lese, kann ich dir gerne weiterhelfen.
Gruß,
Amica
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|