Abfrage
am 20.07.2005 16:45:12 von ketchxup1
hallo,
komm jetzt nicht mehr weiter!
Ich habe die Abfrage(unten)durchführen wollen aber nun habe ich vergessen
dass die Werten nur Zahlen(id) sind die auf tb2(foo_clubs) verweisen
also so müsste es eingentlich sein!!:
Where-clause
.....Where foo_fix.spieler and foo_fix.gegner = foo_clubs
damit ich die Mannschaftsname angezeigt bekomme und nicht die Id
aber die Abfrage (unten) brauche ich unbedinngt um Spielplan von
Mannschaft $_SESSION['uid'] anzuzeigen!
$sql3 = "SELECT
*
FROM
foo_fix
WHERE
spieler = '".$_SESSION['uid']."' or gegner = '".$_SESSION['uid']."'
ORDER BY
spieltag ASC;";
Kann mir jn helfen??
danke
Re: Abfrage
am 20.07.2005 19:05:34 von Thomas Hamacher
David Bimamisa schrieb:
> komm jetzt nicht mehr weiter!
> Ich habe die Abfrage(unten)durchführen wollen aber nun habe ich vergessen
> dass die Werten nur Zahlen(id) sind die auf tb2(foo_clubs) verweisen
Was? Willst du uns damit sagen, dass 'spieler' und 'gegner'
Fremdschlüssel sind? Dann suchst du JOINs. Das hat mit PHP allerdings
exakt gar nichts zutun, sondern mit relationalen Datenbanken und SQL im
Allgemeinen.
> also so müsste es eingentlich sein!!:
> Where-clause
> ....Where foo_fix.spieler and foo_fix.gegner = foo_clubs
Ne, ist klar. Was ist denn jetzt foo_clubs? Niemand hier kennt dein
Datenmodell und was du schreibst versteht auch kein Mensch.
1.17. Wie stelle ich meine Frage an die Newsgroup am sinnvollsten?
http://www.php-faq.de/q/q-newsgroup-fragen.html
> damit ich die Mannschaftsname angezeigt bekomme und nicht die Id
Dazu bräuchtest du zwei JOINs, vorrausgesetzt du hast drei normalisierte
Tabellen vorliegen. Einmal musst du die Spieler joinen und dann die
Mannschaft.
> aber die Abfrage (unten) brauche ich unbedinngt um Spielplan von
> Mannschaft $_SESSION['uid'] anzuzeigen!
Ein Spieler ist also eine Mannschaft, interessant.
> $sql3 = "SELECT
> *
> FROM
> foo_fix
> WHERE
> spieler = '".$_SESSION['uid']."' or gegner = '".$_SESSION['uid']."'
> ORDER BY
> spieltag ASC;";
>
> Kann mir jn helfen??
Nein, du benötigst Grundlagenwissen und das kann man dir nicht in einem
oder mehreren Postings vermitteln. Eine Einführung in relationale
Datenbanken findest du unter
. Als SQL-Referenz
finde ich das MySQL- und das Oracle-Manual recht gut.
Re: Abfrage
am 20.07.2005 19:08:12 von Marian Heddesheimer
On Wed, 20 Jul 2005 16:45:12 +0200, David Bimamisa wrote:
>aber die Abfrage (unten) brauche ich unbedinngt um Spielplan von
>Mannschaft $_SESSION['uid'] anzuzeigen!
>
etwa so:
FROM foo_fix, foo_clubs
WHERE foo_fix.id = foo_clubs.id
AND spieler = $uid or gegner = $uid
Marian
--
Barrierefreie Online-Kurse: HTML, PHP, MySQL, Word, Excel
http://www.lernpilot.de/wbt/
Re: Abfrage
am 20.07.2005 20:30:38 von ketchxup1
Am Wed, 20 Jul 2005 19:05:34 +0200 schrieb Thomas Hamacher:
> David Bimamisa schrieb:
>
>> komm jetzt nicht mehr weiter!
>
>> Ich habe die Abfrage(unten)durchführen wollen aber nun habe ich vergessen
>> dass die Werten nur Zahlen(id) sind die auf tb2(foo_clubs) verweisen
>
> Was? Willst du uns damit sagen, dass 'spieler' und 'gegner'
> Fremdschlüssel sind? Dann suchst du JOINs. Das hat mit PHP allerdings
> exakt gar nichts zutun, sondern mit relationalen Datenbanken und SQL im
> Allgemeinen.
>
Mit join kann ich es nicht realisieren!!
deshalb gehe ich davon aus dass es etwas mit php zu tun hat.
>> also so müsste es eingentlich sein!!:
>> Where-clause
>> ....Where foo_fix.spieler and foo_fix.gegner = foo_clubs
>
> Ne, ist klar. Was ist denn jetzt foo_clubs? Niemand hier kennt dein
> Datenmodell und was du schreibst versteht auch kein Mensch.
>
soory!
foo_clubs > id,name (Mannschaften)
foo_fix > id,spieler,gegner,datum (Spielplan)
> 1.17. Wie stelle ich meine Frage an die Newsgroup am sinnvollsten?
> http://www.php-faq.de/q/q-newsgroup-fragen.html
>
>> damit ich die Mannschaftsname angezeigt bekomme und nicht die Id
>
> Dazu bräuchtest du zwei JOINs, vorrausgesetzt du hast drei normalisierte
> Tabellen vorliegen. Einmal musst du die Spieler joinen und dann die
> Mannschaft.
>
>> aber die Abfrage (unten) brauche ich unbedinngt um Spielplan von
>> Mannschaft $_SESSION['uid'] anzuzeigen!
>
> Ein Spieler ist also eine Mannschaft, interessant.
>
>> $sql3 = "SELECT
>> *
>> FROM
>> foo_fix
>> WHERE
>> spieler = '".$_SESSION['uid']."' or gegner = '".$_SESSION['uid']."'
>> ORDER BY
>> spieltag ASC;";
>>
>> Kann mir jn helfen??
>
> Nein, du benötigst Grundlagenwissen und das kann man dir nicht in einem
> oder mehreren Postings vermitteln. Eine Einführung in relationale
> Datenbanken findest du unter
> . Als SQL-Referenz
> finde ich das MySQL- und das Oracle-Manual recht gut.
Und das weiß du einafch?
Meine beschreibung war nicht exakt....
Es geht um relationen und hat nichts mit Grundlagenwissen zu
tun!!!denkfehler oder so...
aber trotzdem danke!!!
Re: Abfrage
am 20.07.2005 21:00:06 von Gregor Kofler
David Bimamisa wrote:
> Mit join kann ich es nicht realisieren!!
> deshalb gehe ich davon aus dass es etwas mit php zu tun hat.
LOL, der ist gut. Und wenn ich kein PHP hab, dann ist endgültig der Ofen
aus? Warum geht's mit JOINs nicht? Und wie soll PHP eine (my)SQL-Klausel
nachbauen?
> foo_clubs > id,name (Mannschaften)
> foo_fix > id,spieler,gegner,datum (Spielplan)
Wie wär's mit JOINs? (Du kannst die auch in der WHERE-Klausel
"nachbauen"...) Du brauchst Grundlagenwissen, aber...
>>Nein, du benötigst Grundlagenwissen und das kann man dir nicht in einem
>>oder mehreren Postings vermitteln. Eine Einführung in relationale
>>Datenbanken findest du unter
>>. Als SQL-Referenz
>>finde ich das MySQL- und das Oracle-Manual recht gut.
> Und das weiß du einafch?
> Meine beschreibung war nicht exakt....
> Es geht um relationen und hat nichts mit Grundlagenwissen zu
> tun!!!denkfehler oder so...
....du scheinst lernresistent. Relationen sind was *Grundlegendes*
*relationaler* Dastenbanken. Das Wissen über Relationen in relationalen
Datenbanken würde ich deshalb als Grundlagenwissen einstufen.
Gruß, Gregor
--
Landschafts- und Reisefotografie * http://www.gregorkofler.at
Licht-Blick - Forum für Multivisionsvorträge * http://licht-blick.at
Re: Abfrage
am 20.07.2005 21:05:21 von ketchxup1
Am Wed, 20 Jul 2005 19:05:34 +0200 schrieb Thomas Hamacher:
> Dazu bräuchtest du zwei JOINs, vorrausgesetzt du hast drei normalisierte
> Tabellen vorliegen. Einmal musst du die Spieler joinen und dann die
> Mannschaft.
vielleicht meinst du sowas???
$sql = "Select foo_clubs.name,
foo_fix.spieler,
foo_fix.gegner
FROM
foo_fix
INNER JoiN
foo_clubs
ON
foo_fix.spieler
AND
foo_fix.gegner = foo_clubs.id
WHERE
foo_fix.spieler = 1 or foo_fix.gegner = 1;";
habe ich schon mal ausprobiert es klappt auch ganz gut nur...wie macht man
nun weiter...
zb.:
echo $row['name'] --->name v. foo_fix.spieler aber foo_fix.gegner will ich
auch angezeigt haben
Re: Abfrage
am 20.07.2005 21:15:22 von Gregor Kofler
David Bimamisa wrote:
> $sql = "Select foo_clubs.name,
> foo_fix.spieler,
> foo_fix.gegner
> FROM
> foo_fix
> INNER JoiN
> foo_clubs
ok...
ON
> foo_fix.spieler
> AND
> foo_fix.gegner = foo_clubs.id
....*das* soll funktionieren?
> habe ich schon mal ausprobiert es klappt auch ganz gut nur...wie macht man
> nun weiter...
Soso.
> echo $row['name'] --->name v. foo_fix.spieler aber foo_fix.gegner will ich
> auch angezeigt haben
Man würde die entsprechende Spalte im SELECT-Teil anführen. Nachdem du
mehrere gleichnamige Spalten hast musst du's mit AS eben umbenennen.
Aber da kommt noch mehr in der FROM Klausel dazu... Ah geh bitte - schau
dir einfach einmal ein Tutorial an.
Gregor
--
Landschafts- und Reisefotografie * http://www.gregorkofler.at
Licht-Blick - Forum für Multivisionsvorträge * http://licht-blick.at
Re: Abfrage
am 20.07.2005 21:21:33 von ketchxup1
Am Wed, 20 Jul 2005 21:15:22 +0200 schrieb Gregor Kofler:
> David Bimamisa wrote:
>
>> $sql = "Select foo_clubs.name,
>> foo_fix.spieler,
>> foo_fix.gegner
>> FROM
>> foo_fix
>> INNER JoiN
>> foo_clubs
>
> ok...
>
> ON
>> foo_fix.spieler
>> AND
>> foo_fix.gegner = foo_clubs.id
>
> ...*das* soll funktionieren?
>
>
>> habe ich schon mal ausprobiert es klappt auch ganz gut nur...wie macht man
>> nun weiter...
>
> Soso.
>
>> echo $row['name'] --->name v. foo_fix.spieler aber foo_fix.gegner will ich
>> auch angezeigt haben
>
> Man würde die entsprechende Spalte im SELECT-Teil anführen. Nachdem du
> mehrere gleichnamige Spalten hast musst du's mit AS eben umbenennen.
> Aber da kommt noch mehr in der FROM Klausel dazu... Ah geh bitte - schau
> dir einfach einmal ein Tutorial an.
>
> Gregor
....trotzdem danke
Re: Abfrage
am 20.07.2005 22:31:33 von Thomas Hamacher
David Bimamisa schrieb:
> Am Wed, 20 Jul 2005 19:05:34 +0200 schrieb Thomas Hamacher:
>> David Bimamisa schrieb:
>>>Ich habe die Abfrage(unten)durchführen wollen aber nun habe ich vergessen
>>>dass die Werten nur Zahlen(id) sind die auf tb2(foo_clubs) verweisen
>>Was? Willst du uns damit sagen, dass 'spieler' und 'gegner'
>>Fremdschlüssel sind? Dann suchst du JOINs. Das hat mit PHP allerdings
>>exakt gar nichts zutun, sondern mit relationalen Datenbanken und SQL im
>>Allgemeinen.
> Mit join kann ich es nicht realisieren!!
^^^
Ja, weil dir Grundlagenwissen fehlt.
> deshalb gehe ich davon aus dass es etwas mit php zu tun hat.
Diese Schlussfolgerung erschliesst sich mir nicht wirklich.
>>>....Where foo_fix.spieler and foo_fix.gegner = foo_clubs
>>Ne, ist klar. Was ist denn jetzt foo_clubs? Niemand hier kennt dein
>>Datenmodell und was du schreibst versteht auch kein Mensch.
> foo_clubs > id,name (Mannschaften)
> foo_fix > id,spieler,gegner,datum (Spielplan)
Wieso ist ein Spieler eine Mannschaft?
>>> Kann mir jn helfen??
>>Nein, du benötigst Grundlagenwissen und das kann man dir nicht in einem
>>oder mehreren Postings vermitteln.
> Und das weiß du einafch?
Ja, das geht aus deiner Frage hervor.
> Meine beschreibung war nicht exakt....
Genauergesagt war/ist sie unbrauchbar.
> Es geht um relationen und hat nichts mit Grundlagenwissen zu
> tun!!!
Doch, das hat es. Ohne dieses Wissen braucht man gar nicht anfangen, ein
Datenmodell zu entwerfen. Ausserdem verwechselst du sicher Relationen
und (Fremdschlüssel-)Referenzen, denn um Relationen geht es in
*relationalen* Datenbanken immer.