[GastForen Programmierung/Entwicklung PHP und MySQL datenbankinhalt wird nicht sortiert

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

datenbankinhalt wird nicht sortiert

streicher
Beiträge gesamt: 3

26. Jun 2002, 12:54
Beitrag # 1 von 3
Bewertung:
(862 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo forum,

ich bekomme in meinem kalender den inhalt der datenbank leider nicht in die zeilen mit dem korrekten datum. meine mysql-tabelle sieht folgendermaßen aus:

Datum | location_1 | location_2 | location_3 | ...
Das feld datum ist in der tabelle vom typ DATE.
In der html ausgabe wird ein monat wie folgt erstellt:
Code:

<?php
// anzahl der tage im monat
$motage = date("t", mktime(0,0,0,$monat,$tag,$jahr));

for ($y=1; $y <= $motage; $y++) {
echo "<tr><td>";
switch (date("w", mktime(0,0,0,$monat,$y,$jahr))) {
case 0: echo "So "; break;
case 1: echo "Mo "; break;
case 2: echo "Di "; break;
case 3: echo "Mi "; break;
case 4: echo "Do "; break;
case 5: echo "Fr "; break;
case 6: echo "Sa "; break;
}

echo date("j", mktime(0,0,0,$monat,$y,$jahr));

// datenbankinhalt als array
$zeile = mysql_fetch_array($result);

echo "</td><td>" . $zeile["location_1"] . "</td><td>" . $zeile["location_2"] . "</td><td>" . $zeile["location_3"] . "</td></tr>";
}
?>


leider bekomme ich die daten der datenbank nicht in die korrekte datumszeile. sind für den monat veranstaltungen an sechs verschiedenen tagen gespeichert, so setzt er mir diese in die ersten sechs tage des monats. ich kann mir vorstellen, das ich eine if-abfrage einsetzen muss, nur finde ich keine die funktioniert.
wer kann mir helfen?


[ Diese Nachricht wurde geändert von: Miro Dietiker am 2002-06-26 20:41 ]
X

datenbankinhalt wird nicht sortiert

Miro Dietiker
Beiträge gesamt: 699

26. Jun 2002, 20:53
Beitrag # 2 von 3
Beitrag ID: #6072
Bewertung:
(862 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi streicher

DATE-Typen werden von der Datenbank als YYYY-MM-DD erwartet. Das heisst, man kann auf diese Daten etwa wie folgt zugreifen:

(Annahme, DB-Verbindung besteht bereits)
Code:

$sql = "SELECT * FROM datumtab";
$sql .= " WHERE Datum='".date("Y-m-d", mktime(0,0,0,$monat,$y,$jahr))) ."'";

$res = mysql_query($sql);
$zeile = mysql_fetch_array($res);
echo $zeile['location_1'];
echo $zeile['location_2'];


Das Ganze natürlich am Richtigen Ort in deiner Schleife!

Alles klar?

Greetz: Miro

[ Diese Nachricht wurde geändert von: Miro Dietiker am 2002-06-26 20:54 ]


als Antwort auf: [#6033]

datenbankinhalt wird nicht sortiert

streicher
Beiträge gesamt: 3

27. Jun 2002, 17:08
Beitrag # 3 von 3
Beitrag ID: #6152
Bewertung:
(862 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
vielen dank miro!!!
die schweizer haben es mal wieder erfunden

es hat geklappt! jedoch musste ich die datenbank-abfrage ändern:
$sql = "SELECT * FROM datumtab";
$sql .= " WHERE Datum='".date("Y-m-d", mktime(0,0,0,$monat,$y,$jahr)) ."'";
hat nicht hingehauen, weil die variable $y in der schleife nicht hochgezählt wurde.
erst als ich den ausdruck

date("Y-m-d", mktime(0,0,0,$monat,$y,$jahr))

in eine variable ($z) gepackt habe hat es funktioniert.
die sql-anweisung in der schleife sieht nun wie folgt aus:

$query = "SELECT * FROM datumtab WHERE Datum='$z'";

nochmals, danke für deine hilfe!!!!


als Antwort auf: [#6033]