Hi,
bin gerade aus langeweile dabei ein Gästebuch zu programmieren und hab dabei ein recht merkwürdiges Problem...
Ich will einen Datensatz, einen Gästebucheintag, auslesen wenn dieser gecheckt wurde. Also wenn ein Admin den Eintrag aktiviert sozusagen. Dazu hab ich in der Tabelle die Spalte "check" mit 1 oder 0.
1 = Eintrag wird angezeigt
0 = Eintrag wird nicht angezeigt
Diese check Funktion kann man über eine config.php aktivieren und deaktivieren.
Das ganze hab ich so gelöst:
<?php
$sql = "SELECT * FROM entries";
if ($function_check == 1) {
$sql .= " WHERE check = 1";
}
$select = mysql_query($sql);
while ($row = mysql_fetch_array($select)) {
echo "Name:".$row["name"]."
";
echo "Eintrag:".$row["entry"]."
";
if ($show_date == 1) {
echo "Datum:".$row["date"]."
";
}
if ($show_time == 1) {
echo "Uhrzeit:".$row["time"]."
";
}
}
?>
Alles anzeigen
Nun bekomme ich hier die Fehlermeldung
mysql_fetch_array(): supplied argument is not a valid MySQL result resource... bla bla on line 25
Wenn ich die If-Abfrage aber doppelt negiere quasi, also aus "==" ein "!=" und aus "check = 1" ein "check = 0" mache...
...dann funktionierts und ich bekomme meinen Datensatz ausgegeben.
Ich könnte es zwar einfach so lassen aber trotzdem interessiert mich natürlich warum das so ist.
weiß das jemand?
MfG Markus
EDIT: Mir fällt gerade selber auf, dass bei meiner zweiten Variante ja einfach alles ausgegeben wird wenn die Funktion an ist. Hm... aber das klärt ja nicht warum das erste nicht geht...