SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.05.2006, 15:05:39
Heinrich Heinrich ist offline
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
Mit Zitat antworten
  #2  
Alt 14.05.2006, 15:26:13
Franzx Franzx ist offline
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!
Mit Zitat antworten
  #3  
Alt 14.05.2006, 17:19:11
Heinrich Heinrich ist offline
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
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unknown column 'mitarbeiternr' in 'where clause' Notting PHP Grundlagen 5 30.04.2006 21:27:51
WHERE MATCH ... AGAINST..., zusätzliche WHERE Anweisungen definieren?! 8805-evergreen. MySQLi/PDO/(MySQL) 6 10.03.2006 21:48:06
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 16:29:57
case sensitive where da-wandler MySQLi/PDO/(MySQL) 2 25.03.2004 11:19:07
WHERE name>1 ??? alexurus PHP für Fortgeschrittene und Experten 2 05.02.2002 22:15:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:16:17 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt