Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » abfrage aus 2 Tabellen in einer datei Antworten
abfrage aus 2 Tabellen in einer datei

werner_s
Pixelschubser


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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

werner_s
Pixelschubser


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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren

werner_s
Pixelschubser


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 "<br>";
    echo $row->bundesland;
    echo "<br>";
    echo $row->familienname;
    echo "<br>";
    echo $row->vorname;
    echo "<br><br>";
    
    }


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

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

werner_s
Pixelschubser


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


warum?

---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren

werner_s
Pixelschubser


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


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
 

Antworten
Nach oben