WHERE und dennoch alles auswählen
Stefan
- datenbank
0 Christian Kruse0 FICHTL0 FICHTL
hallo,
ich hab immer noch ein Problem mit meiner Ausgabe.
Also, ich möchte mit WHERE aus einer mysql Db etwas ausgeben.
Funzt auch. Nur jetzt will ich wenn die var. $month nicht übergeben wird bzw. leer ist ALLES anzeigen lassen.
if(!isset($month)){
$result = mysql_query("SELECT * FROM daten");
}
else
{
$result = mysql_query("SELECT ID, date_format(datum, '%d.%m.%y') as datum, date_format(bis, '%d.%m.%y') as bis, sportart, ereignis FROM daten WHERE ((MONTH(datum)='$month') AND bundesland LIKE '%$bundesland%' AND sportart LIKE '%$sportart%')");
}
$number=mysql_num_rows($result);
viele Grüße & vielen Dank
stefan
Hoi,
$result = mysql_query("SELECT ID, date_format(datum, '%d.%m.%y') as
datum, date_format(bis, '%d.%m.%y') as bis, sportart, ereignis FROM
daten WHERE ((MONTH(datum)='$month') AND bundesland LIKE
'%$bundesland%' AND sportart LIKE '%$sportart%')");
........^.................................^
Das solltest du tunlichst unterlassen. Ein like "%ausdruck%" ergibt
in jedem Fall einen Full Table Scan, also eine sequentielle Abarbeitung
*aller* Eintraege in einer Datenbank.
viele Grüße & vielen Dank
*Was* moechtest du eigentlich wissen?
Gruesse,
CK
huhu,
*Was* moechtest du eigentlich wissen?
Ich erhalte eine Ausgabe, wenn die Variable $month einen Wert enthält.
Wenn der User der seine Auswahl über ein Select Feld trifft auf "alles auswählen" klickt sollen alle Datensätze angezeigt werden.
Und da erhalte ich immer eine Fehlermeldung.
danke :) und grüße
stefan
Und da erhalte ich immer eine Fehlermeldung.
Und welche?
sorry, keine Fehlermeldung, sondern einfach keine Ergebnisse.
Und welche?
Bzw. folgende Meldung:$number=mysql_num_rows($result);
if (!$number){ echo"<p align="center">Ihre Suchanfrage ergab leider kein Ergebnis</p>";
}else{
Ausgabe...
Es werden also keine passenden Datensätze gefunden.
MoiN!
Es werden also keine passenden Datensätze gefunden.
Du solltest nicht auf isset($month) testen, sondern auf $month=="" - denn wenn in einem Formular ein Select-Feld mit dem Namen "month" steht, wird im nachfolgenden PHP-Skript diese Variable existieren! Eventuell enthält sie aber nur den Leerstring.
- Sven Rautenberg
hi,
ich hab immer noch ein Problem mit meiner Ausgabe.
Also, ich möchte mit WHERE aus einer mysql Db etwas ausgeben.
Funzt auch. Nur jetzt will ich wenn die var. $month nicht übergeben wird bzw. leer ist ALLES anzeigen lassen.
und was ist dein problem?
vielleicht das dein
$result = mysql_query("SELECT * FROM daten");
nicht ausgeführt wird?
liegt vielleicht am isset?
aber wer weiß das schon so genau? ohne genaue beschreibung...
schöne grüße
hi nochmal,
vielleicht hilft dir das, es kann sein das myTest zwar
leer ist aber doch gesetzt siehe beispiele:
$month = "";
echo isset($month); // = 1
echo empty($month); // = 1
if ($month) // ergibt false
echo "True";
$month = Null;
echo isset($month); // = 1
echo empty($month); // = 0
ich würde mit
if ($month)
fragen
bis dann