php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2004, 09:51  
Gast
 
Beiträge: n/a
Standard inner join

Hallo, ich habe eine schön normalisierte datenbank mit mysql erstellt, dh. zwischen zwei tabellen besteht zusätzlich eine hilfstabelle. In der einten tabelle werden die informationen zu personen gespeichert, in einer anderen tabelle werden events gespeichert, dazwischen besteht nun eine hilfstabelle in welcher die id`s der beiden tabellen gespeichert werden und somit eine verknüpfung besteht (welche person geht an welchen event) ich möchte nun personen ausgeben welche für einen bestimmten event registriert sind, dazu habe ich folgendes sql statement erstellt

"SELECT TBL_PERSON.delegate, TBL_PERSON.ibt, TBL_EVENTS.topic, TBL_PERSON.idp
FROM TBL_PERSON INNER JOIN TBL_EVENTS INNER JOIN HTBL_EVENTS ON TBL_EVENTS.ide = HTBL_EVENTS.ide ON TBL_PERSON.idp = HTBL_EVENTS.idp
WHERE TBL_PERSON.ibt=testland AND TBL_EVENTS.ide=1";

Leider funktioniert es jedoch nid hat jemand ne ahnung wo das problem ist ??

gruss apicula
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.09.2004, 09:57  
Gast
 
Beiträge: n/a
Standard

Code:
SELECT TBL_PERSON.delegate, TBL_PERSON.ibt, TBL_EVENTS.topic, TBL_PERSON.idp 
FROM TBL_PERSON INNER JOIN HTBL_EVENTS ON TBL_PERSON.idp = HTBL_EVENTS.idp INNER JOIN TBL_EVENTS ON TBL_EVENTS.ide = HTBL_EVENTS.ide WHERE TBL_PERSON.ibt=testland AND TBL_EVENTS.ide=1
Du kannst nicht
inner join tabelle inner join tabelle inner join tabelle ...
machen und erst dann die ganze ON-Geschichte machen, wenn dann
inner join tabelle on t.f=t2.f2 inner join tabelle on ... inner join tabelle on etc.

Gruß

Marco
  Mit Zitat antworten
Alt 23.09.2004, 10:02  
Gast
 
Beiträge: n/a
Standard

mhm ok dann werd ich das mal so versuchen, ev. bringts ja was danke auf jeden fall für deine hilfe.
  Mit Zitat antworten
Alt 23.09.2004, 10:07  
Gast
 
Beiträge: n/a
Standard

mhm leider gehts so auch nicht hat jemand noch ne andere idee was hier falsch sein könnte ??? mein script gibt folgende fehler aus:

Warning: Supplied argument is not a valid MySQL result resource in /home/frischj1/www/WebReg/admin/cancelreg.php on line 40


Warning: Supplied argument is not a valid MySQL result resource in /home/frischj1/www/WebReg/admin/cancelreg.php on line 51

zeile 40 ist die zeile in welcher das resultat mit mysql_fetch_array in die variable $zeile gespeichert wird und auf zeile 51 wird ein feld der variable $zeile ausgegeben.
  Mit Zitat antworten
Alt 23.09.2004, 10:21  
Gast
 
Beiträge: n/a
Standard

mhm ok ich habe das statement nun wie folgt abgeändert, so habe ich keine fehlermeldung mehr, jedoch gibt es mir die variable $zeile auch nicht aus

dies sollte doch so gehen:

print $zeile[delegate]; <-- dies ist das feld delegate in der tabele TBL_PERSON

hier noch das statement:

"SELECT TBL_PERSON.delegate, TBL_PERSON.ibt, TBL_EVENTS.topic, TBL_PERSON.idp FROM TBL_PERSON
INNER JOIN HTBL_EVENTS ON TBL_PERSON.idp = HTBL_EVENTS.idp INNER JOIN TBL_EVENTS ON TBL_EVENTS.ide = HTBL_EVENTS.ide
WHERE TBL_PERSON.ibt='testland' AND TBL_EVENTS.ide='1'";
  Mit Zitat antworten
Alt 23.09.2004, 10:43  
Gast
 
Beiträge: n/a
Standard Vorschlag

> dies sollte doch so gehen:
> print $zeile[delegate]; <-- dies ist das feld delegate in der tabele TBL_PERSON

Versuchs doch sinngemäs so:

while ($zeile=mysql_fetch_array($result,MYSQL_ASSOC))
{
print '<pre>'; print_r($zeile); print '</pre>';
}
...

mfG -dilemma-

PS:
Vielleicht solltest du auch prüfen, was
mysql_num_rows()
liefert.
-------> http://www.php.net/manual/de/functio...l-num-rows.php
  Mit Zitat antworten
Alt 23.09.2004, 10:49  
Gast
 
Beiträge: n/a
Standard

mhm hab ich nun mal versucht, aber da erhalte ich leider einen parse error

was macht dieser befehl mysql_ASSOC ??? davon hab ich noch nie was gehört ???
  Mit Zitat antworten
Alt 23.09.2004, 11:12  
Gast
 
Beiträge: n/a
Standard Bei MYSQL_ASSOC erhalten Sie ...

> was macht dieser befehl mysql_ASSOC ??? davon hab ich noch nie was gehört ???

dieses: ---> mysql_fetch_array($result,MYSQL_ASSOC)

ist hier beschrieben:

http://www.php.net/manual/de/functio...etch-array.php

array mysql_fetch_array ( resource Ergebnis-Kennung [, int Ergebnistyp])
Das optionale zweite Argument Ergebnistyp in mysql_fetch_array() ist eine Konstante und kann die folgenden Werte annehmen:
MYSQL_ASSOC, MYSQL_NUM und MYSQL_BOTH.

Bei MYSQL_ASSOC erhalten Sie nur asoziative Indizes (genau wie bei mysql_fetch_assoc()).

Die neuere Version dieser Funktion lautet:
---> mysql_fetch_assoc()
http://www.php.net/manual/de/functio...etch-assoc.php

Um dir weiterhelfen zu können, gib doch bitte noch einmal
deine komplette Query an,
UND
wie du hinter dieser Query weitermachst...

-dilemma-
  Mit Zitat antworten
Alt 23.09.2004, 11:19  
Gast
 
Beiträge: n/a
Standard

ok danke also hier mal die query :

include ("../connect.php");
$sql="SELECT TBL_PERSON.delegate, TBL_PERSON.ibt, TBL_EVENTS.topic, TBL_PERSON.idp FROM TBL_PERSON INNER JOIN HTBL_EVENTS ON TBL_PERSON.idp = HTBL_EVENTS.idp INNER JOIN TBL_EVENTS ON TBL_EVENTS.ide = HTBL_EVENTS.ide WHERE TBL_PERSON.ibt='testland' AND TBL_EVENTS.ide='$eventid'";

danach gehts so weiter :

$result = mysql_query($sql);
$zeile= mysql_fetch_array($result)
while ($zeile=mysql_fetch_array($result, MYSQL_ASSOC))
{
print_r($zeile);
}



aber wie gesagt, da gibts nur nen parse error
  Mit Zitat antworten
Alt 23.09.2004, 11:45  
Gast
 
Beiträge: n/a
Standard na dann...

> ok danke also hier mal die query :

> include ("../connect.php");
> $sql=
> "
> SELECT TBL_PERSON.delegate, TBL_PERSON.ibt, TBL_EVENTS.topic, TBL_PERSON.idp
> FROM TBL_PERSON
> INNER JOIN HTBL_EVENTS
> ON TBL_PERSON.idp = HTBL_EVENTS.idp
> INNER JOIN TBL_EVENTS
> ON TBL_EVENTS.ide = HTBL_EVENTS.ide
> WHERE
> TBL_PERSON.ibt='testland' AND
> TBL_EVENTS.ide='$eventid'
> ";

Schreibe hier folgendes:
/* -------------------------------------------------------------------------------------- */
$result = mysql_query($sql);

if (mysql_errno()) {die("Fehler:
". mysql_error() ."
Query:
". $sql ."
");}

$z = mysql_num_rows($result);
echo mysql_num_rows($result) ." Datensätze gefunden

";

while ($zeile=mysql_fetch_assoc($result))
{
print_r($zeile);
}
/* -------------------------------------------------------------------------------------- */

Und zeige dann das Ergebnis!

-dilemma-
  Mit Zitat antworten
Antwort


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
INNER JOIN, GROUP BY und ... schwer zu erklären abyss Datenbanken 2 15.06.2008 00:55
exkludierender INNER JOIN pepe24 Datenbanken 5 17.12.2007 14:30
Datenbank schon wieder ... hilfe zu INNER JOIN &lt;Daniel&gt; Datenbanken 3 14.09.2006 15:48
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
INNER JOIN + Suchkriterien + Abfrage duerov PHP Tipps 2006 4 04.04.2006 12:47
inner join zeigt gleiche spalten nur 1x Datenbanken 3 22.02.2006 17:11
inner join aus db PHP Tipps 2006 8 22.01.2006 01:23
[Erledigt] Abfrageproblem mit Inner Join Datenbanken 15 29.11.2005 18:17
sql-Abfrage inner join - unerklärliches Problem havok Datenbanken 6 17.10.2005 14:32
* und Inner Join? Paulo Datenbanken 2 27.09.2005 14:26
[Erledigt] INNER JOIN abfrage zusammen stricken Datenbanken 3 04.07.2005 02:21
MySql - Inner Join? PHP Tipps 2005-2 2 14.06.2005 15:24
INNER JOIN mit 4 tabellen ??? Dragon26mFR Datenbanken 5 01.05.2005 18:51
INNER JOIN Fehler Schaelle Datenbanken 4 27.07.2004 19:12
INNER JOIN - realisieren? Schaelle PHP Tipps 2004 1 04.07.2004 09:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_fetch_assoc inner join, mysql_fetch_assoc join, sql hilfstabelle, inner join php, sql join php fetch_array, mysql_fetch_array inner join, was macht mysql_assoq, inner join hilfstabelle, mysql_assoc, php mysql_fetch_assoc inner join, was macht join (php), php inner join variablen, was macht inner join, mysql_fetch_assoc join id, join hilfstabelle, mysql select hilfstabelle, mysql fetch assoc join, php mysql_fetch_assoc tabellen joinen, mysql_fetch inner join, php variablen übergeben mysql innerjoin

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:25 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.