Wenn du mir jetzt den folgenden, deinem Anhang entnommenen Code erklären solltest, wie würdest du mir hier den logisch sinnvollen Ablauf beschreiben?
PHP:
// Auswählen aller Daten die zur NewsID $id gehören
$qry= "SELECT * from calendar where DATE = '$date'";
$res = mysql_query($qry) or die ("Fehler: ".mysql_error());
;
$sql= "select Count(*) As Anzahl, * from calendar where DATE = '$date'";
$row = mysql_fetch_array($sql);
if($row['Anzahl'] <= 1)
Ich fang mal an:
1.) Statement zum auslesen der Einträge zum Datum $date in $qry speichern
2.) Ressource des Queries unter Verwendng von $qry als Statement in $res speichern oder Fehler ausgeben und Script beenden
3.) Ein nicht
funktionsfähiges Statement in Variable $sql speicher.
Zu dem nicht funktionsfähigen, du kannst keine Aggregatfunktion, z.b. count mit * oder ähnlichem vermischen. Denn Aggregatfunktionen geben zwangsweise nur einen Datensatz zurück.
4.) Nächster fehler, du versuchst Daten aus einer
nicht ressource $sql (hier Steht NUR TEXT drin) auszulesen.
Wenn müsste die Zeile so aussehen: $row = mysql_fetch_array($res),
oder $res = mysql_query($sql); und danach die Zeile von oben.
Soviel nun zu den fehlern im Script, logisch also etwas verkorxt.
Um das mal aufzuräumen, du liest ermal alle Daten zum passenden Tag in ein Array, dieses zhälst du dann auf Inhalt. Ist es leer gibts du die Meldung aus das keine Einträge vorhanden sind. Ist was drin gisbt du sie aus. Du könntest auch zwei Statements verfassen eins zum auslesen der Datensätze, eines zum Zählen der Datenstäze. Für den Fall ist mir ersteres sympatischer... Dafür ergibt sich dann folgender Code:
PHP:
//Query an DB Senden...
$sth = @mysql_query("SELECT * from calendar where DATE = '$date'") or die("Fehler: ".mysql_query());
//Daten fürs Query in $daten Speichern
$daten = array();
while( $row = mysql_fetch_assoc($sth) )
$daten[] = $row;
//Prüfen ob Daten vorhanden sind
if( count($daten) )
{
//Daten vorhanden, nun ausgeben
// mit each so lange datensätze aus dem Array holen, bis das Ende des Arrays erreicht
//Der rückgabewert von each, ein Array, der Wer dieses Arrays ist wiederum ein Array, da $daten = 2 Diemensional, ergo ist $val 1 Dimensional
//die einzelne Datenzeile
while( list(,$val) = each($daten) )
{
echo "<tr>";
echo "<td><font class='kalender'>$val[datum]><br></font></td>";
echo "</tr>";
echo "<tr>";
echo "<td><strong><font class='kalender'>$val[titel]<br></font></strong></td>";
echo "</tr>";
echo "<tr> ";
echo "<td><font class='kalender'>$val[beschreibung]<br><br></font></td>";
echo "</tr>";
echo "<tr> ";
echo "<td><font class='nav'>Event eingetragen am $val[eintragung] von $val[autor]<br><br><hr size='1' color='#006600'></font></td>";
echo "</tr>";
}
}
//Wenn keine Datensätze vorhanden sind
else
{
echo "<font class='kalender'>Für den $datum wurden keine Eintragungen gemacht<br><br><a href='index.php#calender'>zurück</a><br><br></font>";
}
Auf Deine Datumwandlung habe ich verzichtet, da man diese wie bereits erwähnt in das SQL-Statement einabuen kann, sie mein Post weiter oben.
hth