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 ::

Der CSS-Problemlöser

Der CSS-Problemlöser 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)

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 01.08.2009, 14:04:23
Zeussi Zeussi ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 35
Beiträge: 2
[MySQL] IF / CASE: mehrere Werte abfragen

Hallo liebe selfphp.de Member,

derzeit beschäftige ich mich mit folgender Problemstellung:

Beispieltabellen:

tbl_auto
Code:
-> tbl_auto.id
-> tbl_auto.reifen
...
tbl_boot
Code:
-> tbl_boot.id
-> tbl_boot.segel
...
tbl_flasche
Code:
-> tbl_flasche.id
-> tbl_flasche.verschluss
...
tbl_container
Code:
-> tbl_container.id
-> tbl_container.ext_id
-> tbl_container.typ
-> tbl_container.kommentar
-> tbl_container.datum
..
So. Nun möchte ich je nach typ (tbl_container.typ) die dafür bestimmte Tabelle mit dessen Feldern abfragen. Sprich, ist der Typ 'auto', sollen alle Felder der Tabelle tbl_auto abgefragt werden, usw.
Wenn das dann funktioniert, sollen je nach Tabelle (auto, flasche, boot) auch in dem WHERE Bereich die einzelnen Tabellen abgefragt werden... mit IF?)

Das Ganze habe ich mit IF versucht, da es bei CASE nicht geklappt hat. Nur leider kann ich bei IF nur einen Datenwert abfragen. Wie ich mehrere Abfragen kann... dahinter komme ich einfach nicht. Und die Dokumentation von MySQL finde ich dazu auch sehr dürftig... Auch habe ich noch nicht rausgefunden, wie ich die zweite Bedingung, also das ELSE, weglassen kann, da ich die Ausgabe eigentlich nicht benötige. Ich hoffe es weiß jemand eine Lösung auf das Problem oder vielleicht sogar eine bessere Struktur in diesem Fall, dass man so eine Lösung gar nicht erst benötigt.

FUNKTIONIERT, aber nicht so wie ich will, - ohne IF in WHERE
PHP-Code:
SELECT 
   
IF( tbl_container.typ 'auto'tbl_auto.reifenNULL ), 
   
tbl_container.id
FROM 
   tbl_container

   
tbl_auto
LIMIT 0 
30 
FUNKTIONIERT NICHT (so wie ichs mir vorstellen würde ^^ - ohne IF in WHERE)
PHP-Code:
SELECT 
   
IF( tbl_container.typ 'auto', (tbl_auto.idtbl_auto.reifen) ), 
   
tbl_container.id
FROM 
   tbl_container

   
tbl_auto
LIMIT 0 
30 
Gruß,
Zeussi
Mit Zitat antworten
  #2  
Alt 01.08.2009, 15:33:58
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: [MySQL] IF / CASE: mehrere Werte abfragen

Hallo und willkomen hier im Forum!

Da fehlen wohl mal wieder die (notwendigen) Basiskenntnisse oder die Hausaufgaben sind schwerer als gedacht.


Zitat:
Zitat von Zeussi Beitrag anzeigen
[...]
So. Nun möchte ich je nach typ (tbl_container.typ) die dafür bestimmte Tabelle mit dessen Feldern abfragen. Sprich, ist der Typ 'auto', sollen alle Felder der Tabelle tbl_auto abgefragt werden, usw.
Wenn das dann funktioniert, sollen je nach Tabelle (auto, flasche, boot) auch in dem WHERE Bereich die einzelnen Tabellen abgefragt werden... mit IF?)

Das Ganze habe ich mit IF versucht, da es bei CASE nicht geklappt hat. Nur leider kann ich bei IF nur einen Datenwert abfragen. Wie ich mehrere Abfragen kann... dahinter komme ich einfach nicht. Und die Dokumentation von MySQL finde ich dazu auch sehr dürftig... Auch habe ich noch nicht rausgefunden, wie ich die zweite Bedingung, also das ELSE, weglassen kann, da ich die Ausgabe eigentlich nicht benötige. Ich hoffe es weiß jemand eine Lösung auf das Problem oder vielleicht sogar eine bessere Struktur in diesem Fall, dass man so eine Lösung gar nicht erst benötigt.
Wenn Dir ja tbl_container.typ bekannt ist, warum ziehst Du die Abfrage nicht aus dem SQL-Statment raus?

Zum Beispiel:

PHP-Code:
if(tbl_container.typ 'auto')
  {
$sql "SELECT  tbl_auto.reifen, tbl_container.id
           FROM  tbl_auto, tbl_container
           WHERE bedingung_erfuellt 
           LIMIT 0 , 30"
;
  }
elseif(...)
  {...}
else
  {...} 
** ungetestet - Tabellenverküpfung (JOIN) nicht vergessen **
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 01.08.2009, 16:44:53
Zeussi Zeussi ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 35
Beiträge: 2
AW: [MySQL] IF / CASE: mehrere Werte abfragen

Auch Hallo und danke für die Antwort :-)
Naja, es soll eine dynamische Suche per Ajax/PHP/MySQL werden. Und dabei soll in den Datenfeldern jeder Tabellen gesucht werden können, also in diesem Beispiel in jedem Tabellenfeld jeweils von Container, Auto, Boot und Flasche....

Weil es dann massig Querys wären...

1. Select von Container mit Typ und ext_id
2. For Schleife mit ID's im Array und folgende Selects:
2.1 Select von Auto - Where ext_id = id
2.2 Select von Boot - Where ext_id = id
2.3 Select von Flasche - Where ext_id = id

das wären dann bei zB. 50 Einträge im Container 151 Abfragen.... das ist doch Wahnsinn :/
Und von 4:1 auf 1:1 ... das wäre doch ein schöner Faktor :-)

Gruß,
Zeussi
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
[MYSQL] IF oder CASE mit funktionen als Rückgabe... Büddl MySQLi/PDO/(MySQL) 7 22.06.2009 20:59:20
URL verstecken und anderes JB PHP für Fortgeschrittene und Experten 9 14.06.2006 18:16:29
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 17:29:57
case mehrmals verwenden beginner21 PHP für Fortgeschrittene und Experten 7 18.06.2004 02:08:32
Weiterleitung in if-Schleife Chilla PHP für Fortgeschrittene und Experten 15 05.05.2004 20:19:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:58:27 Uhr.


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


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