Komme mit einer SQL abfrage nicht klar.
Hallo
Ich möchte unsere Händlerliste (wir sind Importeur) im Internet veröffentlichen so das Endkunden sehen in welchem Sportgeschäft sie unsere Artikel bekommen. Unsere Buchhaltungssoftware schreibt alle erforderlichen Daten in eine MySQL Datenbank. Ich habe jetzt das Problem das ich die Abfrage nicht zustande bekomme um die Daten richtig darzustellen. Inetwa so wie hier: Axosport
Ich habe 2 Tabellen:
Adress_ID NName Beruf Strasse Adresse3 Plz Ort Telefon Telefax E_Mail
Adress_ID Marke Status
Die beiden Adress_ID sind natürlich gleich.
Ich habe schon etwas "gebastelt" in PHP und VB. Die VB Abfrage sollte eigentlich funktionieren. Meine Idee war den VB-Code nach PHP zu schreiben, funktioniert aber leider nicht.
VB:
PHP (funktioniert nicht)
Ich hoffe jemand kann mir ein bischen weiterhelfen.
Gruss
Pom
Ich möchte unsere Händlerliste (wir sind Importeur) im Internet veröffentlichen so das Endkunden sehen in welchem Sportgeschäft sie unsere Artikel bekommen. Unsere Buchhaltungssoftware schreibt alle erforderlichen Daten in eine MySQL Datenbank. Ich habe jetzt das Problem das ich die Abfrage nicht zustande bekomme um die Daten richtig darzustellen. Inetwa so wie hier: Axosport
Ich habe 2 Tabellen:
Adress_ID NName Beruf Strasse Adresse3 Plz Ort Telefon Telefax E_Mail
Adress_ID Marke Status
Die beiden Adress_ID sind natürlich gleich.
Ich habe schon etwas "gebastelt" in PHP und VB. Die VB Abfrage sollte eigentlich funktionieren. Meine Idee war den VB-Code nach PHP zu schreiben, funktioniert aber leider nicht.
VB:
Public Function eAusgabeVetretung(eVetretung As String)
Dim AdrR As Recordset 'Adressen
Dim VerR As Recordset 'Vertretung
Set AdrR = Openrec("Select * from Adressen order by PLZ")
While Not AdrR.EOF
Set VerR = Openrec("Select * from eAdressen_Vertretung where Adress_ID = " & AdrR!Adresse_ID & " and Marke ='" & eVetretung & "' order by Marke")
If Not VerR.EOF Then
'Ausgabe Adresse !
While Not VerR.EOF
'Ausgabe Marke
VerR.MoveNext
Wend
AdrR.MoveNext
End If
Wend
End Function
PHP (funktioniert nicht)
/* Erstellt Connect zur Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("andeer1",$db);
$result1 = mysql_query("SELECT eIntadressen.* FROM eIntadressen");
while($row1 = mysql_fetch_array($result != feof)) {
$result2 = mysql_query("SELECT * FROM eIvertretung WHERE Adress_ID = $result1[Adress_ID]");
if ($result2 != feof)
echo $row['NName'],$row['Beruf'],$row['Strasse'],$row['Adresse3'],$row['Plz'],$row['Ort'],$row['Telefon'],$row['Telefax'],$row['E_Mail'];
while($row2 = mysql_fetch_array($result2 != feof)) {
echo $row['Marke'];
}}
?>
Ich hoffe jemand kann mir ein bischen weiterhelfen.
Gruss
Pom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4733
Url: https://administrator.de/contentid/4733
Ausgedruckt am: 25.11.2024 um 21:11 Uhr
4 Kommentare
Neuester Kommentar
Ich würde mal den Code im PHP nochmal genau anschauen. Hier hast du einige Variablennamen durcheinander, $result, $result1, $result2...
Dann wäre eine Fehlermeldung, die PHP bringt, auch nicht übel.
Gruß, Mupfel
Dann wäre eine Fehlermeldung, die PHP bringt, auch nicht übel.
Gruß, Mupfel
*while($row1 = mysql_fetch_array($result1 != feof)) {*
Warning: mysql_fetch_array(): supplied
argument is not a valid MySQL result
resource in
/home/www/web514/html/handler/marken.php on
line 18
argument is not a valid MySQL result
resource in
/home/www/web514/html/handler/marken.php on
line 18
Ist ja auch logisch, denn: $result1 != feof liefert einen boolean zurück und mysql_fetch_array erwartet jedoch als Argument ein Resource gemäß den Headerangaben:
array mysql_fetch_array ( resource Ergebnis-Kennung [, int Ergebnistyp])
Also du müsstest da schon das $result1 alleine drin stehen haben.
Schau dir einfach mal die Beispiele an, wie du sie auf http://de2.php.net/mysql_fetch_array findest.
Gruß, Mupfel
Ich vermute, die Anweisung mysql_select_db("andeer1",$db); führt schon zu
einer Fehlermeldung, da die Funktion nur den Namen der Datenbank erwartet.
Die Anweisung $result1 = mysql_query("SELECT eIntadressen.* FROM eIntadressen");
dürfte ebenfalls eine Fehlermeldung verursachen, da die Funktion zwei Parameter erwartet,
zum einen die SELECT-Anweisung, zum anderen das Verbindungshandle.
$result1 = mysql_query("SELECT eIntadressen.* FROM eIntadressen",$db); wäre richtig.
$result != feof ist ebenfalls falsch, da in der Variablen $result die Ergebnisliste als ARRAY
gespeichert wird.Richtig wäre z.B. while($row1 = mysql_fetch_array($result,MYSQL_ASSOC)),
MYSQL_ASSOC ist eine vordefinierte Konstante die bewirkt, das die Ergebnisliste als assoziatives
Array abgespeichert wird, das heißt, das heißt, du kannst dir die Spalten mit
echo "$row[Spaltenname]"; anzeigen lassen.Spaltenname nicht in Anführungszeichen.
Last not least:@MYSQL_CONNECT($db_server,$db_user,$db_passwort);
ist auch nicht richtig, da PHP wie z.B. C/C++ Groß-und Kleinschreibung unter-
scheidet, das heißt, die Funktion MYSQL_CONNECT gibt es für PHP nicht.
einer Fehlermeldung, da die Funktion nur den Namen der Datenbank erwartet.
Die Anweisung $result1 = mysql_query("SELECT eIntadressen.* FROM eIntadressen");
dürfte ebenfalls eine Fehlermeldung verursachen, da die Funktion zwei Parameter erwartet,
zum einen die SELECT-Anweisung, zum anderen das Verbindungshandle.
$result1 = mysql_query("SELECT eIntadressen.* FROM eIntadressen",$db); wäre richtig.
$result != feof ist ebenfalls falsch, da in der Variablen $result die Ergebnisliste als ARRAY
gespeichert wird.Richtig wäre z.B. while($row1 = mysql_fetch_array($result,MYSQL_ASSOC)),
MYSQL_ASSOC ist eine vordefinierte Konstante die bewirkt, das die Ergebnisliste als assoziatives
Array abgespeichert wird, das heißt, das heißt, du kannst dir die Spalten mit
echo "$row[Spaltenname]"; anzeigen lassen.Spaltenname nicht in Anführungszeichen.
Last not least:@MYSQL_CONNECT($db_server,$db_user,$db_passwort);
ist auch nicht richtig, da PHP wie z.B. C/C++ Groß-und Kleinschreibung unter-
scheidet, das heißt, die Funktion MYSQL_CONNECT gibt es für PHP nicht.