abfrage aus 2 Tabellen in einer datei |
werner_s
Pixelschubser Threadstarter
Beiträge: 10 |
hallo erstmal
nicht böse sein, hab auch schon gelesen, find aber nix was ich verstehen kann:
ich habe 2 tabellen (betreuer und schulen)
ich will nun einfach die werte ausgeben. aus einer tabelle kanns sogar ich (auch wenn ich schon gelesen hab, dass select * nicht sein soll
1:
2:
3:
4:
5:
6: | $abfrage = "SELECT * FROM meldeblatt WHERE schule LIKE '$schule'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->schuladresse;
} |
nun will ich aber genauso einfach in der gleichen php datei die daten des bereuers der geählten schule anzeigen. In der Betreuer-Tabelle ist natürlich auch eine Spalte schule.
wie kann ich jetzt bitte die spalten bvorname, bnachname usw. ausgeben?
Hoffe ich hab mich unverständlich genug ausgedrückt
Danke für eure hilfe!
werner
Diese Nachricht wurde geändert von: werner_s |
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Ich versteh dein Problem jetzt noch nicht so wirklich. Gib doch mal eine Übersicht, wie deine beiden Tabellen aussehen und welche Ausgabe du am Ende haben möchtest.
|
 Profil
Editieren
Zitieren
|
werner_s
Pixelschubser Threadstarter
Beiträge: 10 |
languitar schrieb am 29.05.2004 12:36
Ich versteh dein Problem jetzt noch nicht so wirklich. Gib doch mal eine Übersicht, wie deine beiden Tabellen aussehen und welche Ausgabe du am Ende haben möchtest. |
tabelle schulen: schulname, strasse, plz, ort
tabelle betreuer: schulname, vorname, familienname, ausbildung
jetzt will ich einfach über eine abfrage die beiden über meine $row-> ansprechen können
z.b.:
echo %row-> schulname
echo %row-> strasse
echo %row-> vorname
echo %row-> familienname
geht das?
danke für die mühe
werner
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
so?
1: | SELECT a.*, b.* FROM schulen a, betreuer b WHERE a.schulname = b.schulname AND a.schulname = 'dein schulname' |
Die letzte Bedingung kannst du auch weglassen, dann bekommst du mehrere Reihen.
Schöner wäre es übrigens, wenn du nicht mit den Schulnamen arbeiten würdest, sondern für jede Schule eine ID einführen würdest.
Diese Nachricht wurde geändert von: languitar |
 Profil
Editieren
Zitieren
|
werner_s
Pixelschubser Threadstarter
Beiträge: 10 |
Hab die Namen geändert, das Problem ist immer noch das gleiche, wenn auch schon besser
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18: | $abfrage = "SELECT a.*, b.*
FROM meldeblatt a, betreuer b
WHERE a.schule = b.schule
AND WHERE a.schule = 'xxx'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->schule;
echo " ";
echo $row->bundesland;
echo " ";
echo $row->familienname;
echo " ";
echo $row->vorname;
echo "
";
} |
funktioniert - aber nur ohne der ...AND WHERE a.schule = 'xxx'";
anweisung. Er listet mir dann alle schulen auf.
mit der AND WHERE a.schule = 'xxx'";
bekomme ich folgende Fehlermeldung:
1: | Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Programme\TSW\Apache2\htdocs\schuelerliga\sqlabfrage.php on line 11 |
Wobei line 11 die while.... zeile ist
danke nochmals! bin leider noch gaaaanz neu in mysql!
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Oh, das muss nur AND heißen und nicht AND WHERE
|
 Profil
Editieren
Zitieren
|
werner_s
Pixelschubser Threadstarter
Beiträge: 10 |
Wer lesen kann ist klar im Vorteil
Danke!!!
|
 Profil
Editieren
Zitieren
|
skc.tiddy
Otto-Normal-Poster
Beiträge: 81 |
und wer anstatt mit schulname mit ids arbeitet ist noch besser ;)
---
...blah.
|
 Profil
Website
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
warum?
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|
werner_s
Pixelschubser Threadstarter
Beiträge: 10 |
Hab da noch ne Frage:
Geht das auch schneller?
1:
2:
3:
4:
5:
6:
7:
8:
9: | $abfrage = "SELECT user, pw
FROM pwl
WHERE user = '$user'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$pwl = $row->pw;
$user = $row->user;
} |
Ich will einfach laut dieser Abfrage den Variablen die werte zuweisen.
Also, gehts schneller oder ist da eh ok so?
Freu mich, dass ihr hier auch auf "dumme" Fragen so rasch gute Antworten liefert und nicht immer darauf verweist, dass alles schon mal wo beantwortet wurde. Ich such ja eh immer vorher
danke
werner
|
 Profil
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
das passt schon so.
allerdings kriegst du ja nur einen datensatz zurück.
da könntest du so schreiben:
1:
2:
3:
4:
5: |
$row = mysql_fetch_object($ergebnis);
$pwl = $row->pw;
$user = $row->user;
|
bzw. so wenns nicht objektorientiert ist
1:
2:
3:
4:
5: |
$row = mysql_fetch_row($ergebnis);
$pwl = $row[pw];
$user = $row[user];
|
geschwindigkeitssvorteil bringt das allerdings keinen messbaren?
---
We are born wet, naked and hungry, then things got worse!
Diese Nachricht wurde geändert von: NetDrag |
 Profil
Website
Editieren
Zitieren
|