php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.05.2005, 12:26  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard select über drei Tabellen

Hi

Habe drei Tabellen, über zwei kann ich selektieren aber nicht über drei, was amche ich falsch

Tabelle 1 = Name adresse ort usw
Tabelle 2 = Vorstand (nicht alle von 1 sind im 2)
Tablle 3 = Spezialitäten (nicht alle von 2 sind in 3)
alle sind mit der id_p verbunden
ich brauche dann aber nur jene des einten vereins

PHP-Code:
<?php
$query3 
"SELECT name, vorname,vorstand,spez1 FROM tab1,tab2,tab3
where tab1.id_p=tab2.id_p and tab1.id_p=tab3.id_p
and verein_idfunk='$verein_id'
order by name"
;
?>

mit 2 tabellen geht es aber eben, die Angaben der dritten Tabelle fehlen mir

PHP-Code:
<?php
$query3 
"SELECT name, vorname,vorstandFROM tab1,tab2
where tab1.id_p=tab2.id_p 
and verein_idfunk='$verein_id'
order by name"
;
?>
Danke für die Hilfe wie man drei Tabellen verbindet, habe gesucht aber nichts gefunden das mir hilft, alle Beipsiele waren immer nur 2 Tabellen und das geht ja auch

Danke
Sonja ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.05.2005, 12:31  
Gast
 
Beiträge: n/a
Standard

mach doch einfach 3 querys hintereinander?! O.o
 
Alt 12.05.2005, 12:33  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

Zitat:
Zitat von mate
mach doch einfach 3 querys hintereinander?! O.o
die db bedankt sich

hast du die abfrage direkt im pma schon probiert und dort ein richtiges ergebnis heraus bekommen?

greez search
search ist offline  
Alt 12.05.2005, 12:44  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard

was heisst pma ???

select über 2 Tabellen ergibt ca 20-Datensätze und davon sollten etwa 5 noch was vonb der dritten Tabelle haben. Ich könnte innerhalb der SChleife ei jedem Datensatz eine weitere select machen, aber dann gbit es x Abfragen pro Output und das verlangsamt doch das system, deshalb wollte ich es zusammen nehmen
Sonja ist offline  
Alt 12.05.2005, 12:46  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

pma == phpMyAdmin
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 12.05.2005, 13:04  
Gast
 
Beiträge: n/a
Standard

Was meinen den php und mysql zu Deinem Skript samt Abfrage?
Vielleicht wollen sie Dir etwas mitteilen.
PHP-Code:
<?php
error_reporting
(E_ALL); ini_set('display_errors'true);

$dbConn mysql_connect(...) /* ... ersetzen */
        
or die(mysql_error());
mysql_select_db(...)
        or die(
mysql_error());
        
$query3 "SELECT name, vorname,vorstand,spez1
        FROM tab1,tab2,tab3
        where tab1.id_p=tab2.id_p
        and tab1.id_p=tab3.id_p
        and verein_idfunk='$verein_id'
        order by name"
;

echo 
'<fieldset><legend>Debug: 'htmlentities($query3), '</legend>';
$result mysql_query($query3$dbConn)
        or die(
mysql_error().'<fieldset>');
echo 
'fehlerfrei. Anzahl Datensätze: 'mysql_num_rows($result), '</fieldset>';
?>
Nicht vergessen, die unnötigen Skriptteile hinterher wieder zu entfernen.

siehe auch:
http://php.net/mysql_error
http://php.net/error_reporting
http://php.net/die
 
Alt 12.05.2005, 13:28  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard

Danke, habe bisher noch nie Select über pma gemacht!

Es geht, aber noch nicht

Entweder es kommen dann nur noch jene die auch in der dritten Tabelle sind, doch ich brache auch jene die keinen Eintrag in der dritten Tabelle haben
Sonja ist offline  
Alt 12.05.2005, 13:35  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn du

Code:
SELECT anything FROM t1,t2,t3 WHERE ...
machst, werden automatisch alle einträge aus t2 und t3 wegrationalisiert, die beim JOIN-ergebnis NULL wären.

Code:
SELECT anything FROM t1
LEFT JOIN t2 ON t1.id = t2.foreignKey ...
... gibt dir auch ergebnisse aus, die evtl. null sind.
axo ist offline  
Alt 12.05.2005, 13:50  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

SELECT name, vorname,vorstand, spezl
FROM tab1,tab2
LEFT JOIN tab3
ON tab1.id_p=tab3.id_p
WHERE (tab1.id_p=tab2.id_p OR tab3.id_p IS NULL)
AND verein_idfunk='$verein_id'
ORDER BY name
DiBo33 ist offline  
Alt 12.05.2005, 14:09  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard

Danke VolkerK es funktionierte, obwohl bei den if($row[]) die ?? fehlten. Das wurde angezeigt! Und ist jetzt auch gleichbehoben, eine andere Fehlermedlung bekam ich nicht


DiBo dein Code gibt mir wieder alle 500 Datensätze, nicht was gewünscht ist.

axo, da komme ich nicht draus!

Danke für eure Hilfe
Sonja ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Select über zwei Tabellen / Performanceproblem Wolla Datenbanken 20 15.06.2008 00:58
SELECT über zwei Tabellen KingCrunch Datenbanken 9 23.03.2007 04:01
select mit inhalten aus mehreren Tabellen wurtzel Datenbanken 6 02.12.2006 17:37
SELECT aus 2 Tabellen jens21 Datenbanken 3 30.08.2006 00:54
[Erledigt] SELECT aus zwei &amp;amp;quot;gleichen&amp;amp;quot; Tabellen patr1k Datenbanken 2 05.07.2006 11:57
Select über zwei Tabellen danix-dj PHP Tipps 2006 11 22.05.2006 15:13
Select über 2 Tabellen MasterMind Datenbanken 11 08.04.2006 11:43
Select über mehrere tabellen Sclot Datenbanken 14 24.11.2005 16:56
SELECT * FROM 2 Tabellen - Problem Datenbanken 1 01.09.2005 16:30
SELECT über 4 Tabellen mit DISTINC PHP Tipps 2005 2 08.03.2005 19:50
Select mit 2 Tabellen Sonja PHP Tipps 2005 5 13.02.2005 12:49
mehrere tabellen verknüpfen bei select Datenbanken 3 29.09.2004 11:00
[Erledigt] INSERT INTO SELECT an mehrere Tabellen? Datenbanken 6 17.09.2004 16:57
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13
[Erledigt] Join für Select Count(`id`)-Abfrage über 4 Tabellen Datenbanken 4 10.07.2004 18:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
select * from tabellen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.