Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von April

SELFHTML Forumsarchiv
PHP SELECT Abfrage

Informationsseite
  1. Seite (PHP) PHP SELECT Abfrage von Russ, 30. 04. 2008, 12:23
nach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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?

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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".

nach obennach unten

PHP SELECT Abfrage

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


nach obennach unten

PHP SELECT Abfrage

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
»»
»»
»»

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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.

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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

nach obennach unten

PHP SELECT Abfrage

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)

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von April

© 1998-2006 Seite Impressum, Software: Classic Forum