CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
14.05.2006, 15:05:39
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
WHERE mit zwei Bedingungen
Hi,
ich lese eine Liste von Buchtiteln aus der Datenbank aus. Mit zwei (später vielleicht mehr) Select-Menüs (Land, Genre) setze ich Bedingungen:
PHP-Code:
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t1.land = '$ausw' AND t2.genre = '$genre' ORDER BY t1.nachname ASC;");
Klappt auch, wenn jemand Land und Genre auswählt. Wenn aber jemand nur Land (oder nur Genre) auswählt, kommt natürlich nichts, weil ja die jeweils andere Bedingungen nicht erfüllt ist.
Ich möchte aber, dass - wenn jemand nur das Land wählt - die Buchtitel aller Genres aus diesem Land angezeigt werden (und andersrum). Habe schon mit if und isset probiert, krieg's aber nicht hin.
Wie mache ich's, dass eine Bedingung, deren Wert nicht gesetzt ist, ignoriert wird? Danke für die Tipps.
Gruß
Heinrich
|
14.05.2006, 15:26:13
|
Junior Member
|
|
Registriert seit: Nov 2005
Ort: Bremen
Beiträge: 437
|
|
AW: WHERE mit zwei Bedingungen
Ich könnte mir eine Lösung dieser Art vorstellen:
PHP-Code:
if (isset($_POST['genre']) && isset($_POST['land'])) {
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre
FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t1.land = '$ausw' AND t2.genre = '$genre' ORDER BY t1.nachname ASC;");
}
if (!isset($_POST['genre']) && isset($_POST['land'])) {
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre
FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t1.land = '$ausw' ORDER BY t1.nachname ASC;");
}
if (isset($_POST['genre']) && !isset($_POST['land'])) {
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre
FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t2.genre = '$genre' ORDER BY t1.nachname ASC;");
}
cu,
Franzx
__________________
Für die richtige Frage gibt's die richtige Antwort!
|
14.05.2006, 17:19:11
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: WHERE mit zwei Bedingungen
Hi Franzx,
danke für die schnelle und ausührliche Antwort. Es funktioniert zwar nicht, hat mich aber weiter gebracht. Im Select-Menü ist nämlich, wie mir jetzt klar wurde, immer was gesetzt (hier der Hinweis "Land (oder Genre) auswählen. Deshalb klappt die if-Bedingung nicht. Aber so geht es jetzt:
PHP-Code:
if (isset($_POST['genre']) && isset($_POST['ausw'])) {
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t1.land = '$ausw' AND t2.genre = '$genre' ORDER BY t1.nachname ASC;");
}
if ($_POST['genre']=="Genre auswählen") {
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t1.land = '$ausw' ORDER BY t1.nachname ASC;");
}
if ($_POST['ausw']=="Land auswählen") {
$data = mysql_query ("SELECT t1.land, t1.vorname, t1.nachname, t2.titel, t2.verlag, t2.verlagsort, t2.jahr, t2.seiten, t2.genre FROM autor AS t1 JOIN buecher AS t2 ON t1.ID = t2.autor_ID WHERE t2.genre = '$genre' ORDER BY t1.nachname ASC;");
}
Gruß
Heinrich
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:25:53 Uhr.
|