![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Russ, 30. 04. 2008, 12:23
Hallo ihr,
Ich habe eine Abfrage die einge werte Ausgeben soll... dennoch gibt das mysql_fetch_array dann keine werte zurück. :-/
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
erkennt ihr dort vllt einen fehler?
die daten lese ich dann ganz normal über eine while schleife ein...
while($row = mysql_fetch_array($abfrage))
{
...
}
MfG
Russ
Die folgende Nachricht zum Thema stammt von: ChrisB, 30. 04. 2008, 12:28
Hi,
»» $abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
»»
»» die daten lese ich dann ganz normal über eine while schleife ein...
»»
»» while($row = mysql_fetch_array($abfrage))
»» {
»» ...
»» }
Sofern du nicht zwischendurch $abfrage ueberschrieben hast, ist das also immer noch ein Textstring ...
»» dennoch gibt das mysql_fetch_array dann keine werte zurück. :-/
Es sollte dir aber eine Meldung geben - das error_reporting hast du ja hoffentlich auf E_ALL gestellt?
Und jetzt schaust du im Handbuch noch mal nach, zum Beispiel in der Beschreibung von mysql_fetch_array, was bei dir noch wichtiges fehlen koennte ...
MfG ChrisB
Die folgende Nachricht zum Thema stammt von: jellyfish, 30. 04. 2008, 12:31
»» $abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
Da man weder die Tabellenstruktur kennt, noch die Inhalte, ist es schwer zu sagen, ob denn die Abfrage für die Aufgabe, die du lösen willst, logisch richtig ist.
Vielleicht ist die Abfrage syntaktisch OK und bringt dir deshalb 0 Zeilen als Ergebnis.
Bist du sicher, dass ein "left join" gemacht werden soll?
Die folgende Nachricht zum Thema stammt von: Russ, 30. 04. 2008, 12:37
»» »» $abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
»» Da man weder die Tabellenstruktur kennt, noch die Inhalte, ist es schwer zu sagen, ob denn die Abfrage für die Aufgabe, die du lösen willst, logisch richtig ist.
»» Vielleicht ist die Abfrage syntaktisch OK und bringt dir deshalb 0 Zeilen als Ergebnis.
»»
»» Bist du sicher, dass ein "left join" gemacht werden soll?
»»
Hi
Es soll ähnlich wie eine Gästebuch funktionieren. Bloss das nur Regestrierte Benutzer die in der Tabelle Benutzer (t2) stehen. In der Tabelle des "Gästebuches" steht dann nur die "Nutzerid".
Die Select anfrage soll es mir dann nur ermöglichen den wircklichen Benutzernamen auszugeben und nicht die Nutzerid.
Hoffe die Information sagen aus was ich will. *gg*
MfG
Russ
Die folgende Nachricht zum Thema stammt von: jellyfish, 30. 04. 2008, 12:39
»» Hoffe die Information sagen aus was ich will. *gg*
Naja, nicht wirklich :-)
Aber probier mal statt "left join" ein "INNER join".
Die folgende Nachricht zum Thema stammt von: Russ, 30. 04. 2008, 12:50
»» »» Hoffe die Information sagen aus was ich will. *gg*
»» Naja, nicht wirklich :-)
»» Aber probier mal statt "left join" ein "INNER join".
Hi
Funktioniert leider auch nicht :-/.
Also nochmal von vorne.
Tabelle 1 Hauptdaten:
ID B_ID Anfrage erledigt
1 1 Hallo 0
... ... .... ....
Tabelle 2 Benutzer:
ID Benutzer Passwort ...
1 Hans *****
... .... ....
Auf der Seite soll dann Angezeigt werden:
Anfrage: Hallo...
Von Autor: Hans
Abfrage:
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
wobei die 0 = nicht erledigt bedeutet.
while($row = mysql_fetch_array($abfrage))
{
...
}
Hoffe das hilft mehr. *gg*
MfG
Russ
Die folgende Nachricht zum Thema stammt von: Russ, 30. 04. 2008, 12:53
»» »» »» Hoffe die Information sagen aus was ich will. *gg*
»» »» Naja, nicht wirklich :-)
»» »» Aber probier mal statt "left join" ein "INNER join".
»»
»»
»» Hi
»»
»» Funktioniert leider auch nicht :-/.
»»
»» Also nochmal von vorne.
»»
»» Tabelle 1 Hauptdaten:
»»
»» ID B_ID Anfrage erledigt
»» 1 1 Hallo 0
»» ... ... .... ....
»»
»»
»» Tabelle 2 Benutzer:
»»
»» ID Benutzer Passwort ...
»» 1 Hans *****
»» ... .... ....
»»
»»
»» Auf der Seite soll dann Angezeigt werden:
»»
»» Anfrage: Hallo...
»»
»» Von Autor: Hans
»»
»» Abfrage:
»»
»» $abfrage = "SELECT t1.B_Id, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.B_id = t2.id WHERE t1.erledigt = '0'";
»»
»» wobei die 0 = nicht erledigt bedeutet.
»»
»» while($row = mysql_fetch_array($abfrage))
»» {
»» ...
»» }
»»
»» Hoffe das hilft mehr. *gg*
»»
»» MfG
»» Russ
»»
»»
»»
Die folgende Nachricht zum Thema stammt von: ChrisB, 30. 04. 2008, 12:53
Hi,
»» Funktioniert leider auch nicht :-/.
Weil dein Code immer noch Bloedsinn ist, wenn das -
»» $abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
»»
»» while($row = mysql_fetch_array($abfrage))
- alles ist, was du verwendest.
Also, RTFM - Beispiel anschauen, und dann mal richtig machen.
MfG ChrisB
Die folgende Nachricht zum Thema stammt von: jellyfish, 30. 04. 2008, 12:57
Also meines Erachtens sollte es ein
SELECT t1.B_ID, t2.Benutzer FROM t1 INNER JOIN t2 ON t1.B_ID = t2.ID WHERE t1.erledigt = 0
tun.
Achte aber darauf, ob "erledigt" ein Textfeld oder ein Zahlenfeld ist.
Je nachdem muss die Null dann in Hochkommas oder nicht.
Schick die Abfrage auch mal direkt an die Datenbank (ich schätze es ist eine MySQL-DB?) mit phpMyAdmin, MySQL-CC, Navicat oder einem sonstigen DB-Frontend, um zu sehen, ob da Zeilen zurückgeliefert werden.
WEnn da etwas zurückkommt, ist der Fehler in deinem PHP-Skript zu suchen.
Die folgende Nachricht zum Thema stammt von: EKKi, 30. 04. 2008, 13:09
Mahlzeit,
»» Schick die Abfrage auch mal direkt an die Datenbank (ich schätze es ist eine MySQL-DB?) mit phpMyAdmin, MySQL-CC, Navicat oder einem sonstigen DB-Frontend, um zu sehen, ob da Zeilen zurückgeliefert werden.
Wieso "direkt"? Vielleicht sollte Russ die Abfrage ÜBERHAUPT erstmal an die Datenbank schicken?
»» WEnn da etwas zurückkommt, ist der Fehler in deinem PHP-Skript zu suchen.
Der Fehler ist auf jeden Fall in seinem Code zu suchen - darauf hatte ChrisB ja auch bereits zweimal hingewiesen.
MfG,
EKKi
--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
Die folgende Nachricht zum Thema stammt von: Russ, 30. 04. 2008, 13:17
Moin
Leider nein ^^.
meine Abfrage ergibt bloss 0 Resultate... der php Code ist schon richtig...
Hatte bloss net alles hier eingetragen.
Die info es mal direkt über PHPMyAdmin zu versuchen hat mir dann gezeigt das keine Werte zurück gegeben werden. Weil einfach nichts zutrifft scheinbar.
Mal sehen ich teste weiter :D
MfG
Russ
Die folgende Nachricht zum Thema stammt von: Vinzenz Mai, 30. 04. 2008, 15:03
Hallo,
»» meine Abfrage ergibt bloss 0 Resultate... der php Code ist schon richtig...
»» Hatte bloss net alles hier eingetragen.
es ist eine denkbar schlechte Idee, relevanten Code zu verheimlichen. Du willst doch Hilfe und nicht potentielle und fähige Helfer auf falsche Fährten schicken.
Freundliche Grüße
Vinzenz
Die folgende Nachricht zum Thema stammt von: Russ, 30. 04. 2008, 13:11
Hmmm
scheint am zusammen bau zuliegen :-/.
PHPMyAdmin gibt zurück:
MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen). (die Abfrage dauerte 0.0003 sek.)
Dennoch exestieren zwei test Datensätze die ich angelegt habe :-/
Ich probier mal weiter und melde mich dann.
Danke für eure Hilfe
MfG
Russ
Die folgende Nachricht zum Thema stammt von: Rouven, 30. 04. 2008, 20:01
Hello,
ich hätte mich gerade deines Problems gerne angenommen, aber nachdem deine Beispielabfrage überhaupt nicht zu deinen Spaltennamen passt sehe ich im Moment für mich keinen Einstiegspunkt - bitte poste SAUBER welche Spalten du hast und welches SQL-Statement du ausführst.
MfG
Rouven
--
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Because good guys need a break every once in a while. -- Morty in "Click" (Columbia Pictures, 2006)
© 1998-2006
Impressum, Software: Classic Forum