Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Komme mit einer SQL abfrage nicht klar.

Mitglied: lordpom
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: <link="http://www.axosport.de/dealers.php?filter=CH;>Axosport</link ..."

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:

<font class="code">
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
</font>


PHP (funktioniert nicht)

<font class="code">
/* 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'];
}}
?>
</font>

Ich hoffe jemand kann mir ein bischen weiterhelfen.

Gruss

Pom

Content-Key: 4733

Url: https://administrator.de/contentid/4733

Ausgedruckt am: 21.06.2021 um 18:06 Uhr

4 Kommentare
Mitglied: 7217
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
Mitglied: lordpom
/* 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($result1 != feof)) {*
$result2 = mysql_query("SELECT * FROM eIvertretung WHERE Adress_ID = $result2[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 so stimmt es

Fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/web514/html/handler/marken.php on line 18

Linie 18 habe ich mit Sternen (*) gekennzeichnet
Mitglied: 7217
*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

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
Mitglied: Guenni
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.
Heiß diskutierte Beiträge
Router & Routing
Deutsche Glasfaser. NT direkt an pfSense möglich oder besser Kaskade?
fnbaluVor 1 TagFrageRouter & Routing23 Kommentare

Hallo zusammen, am kommenden Mittwoch wird bei mir der Deutsche Glasfaser Anschluss aktiviert. Anfangs wird darüber kein Telefon laufen, aber vielleicht später. Mir stellt sich ...

Notebook & Zubehör
Alt-Laptop Vergleichsmeinungen
winlinVor 1 TagFrageNotebook & Zubehör12 Kommentare

Hallo zusammen Habe zwei Laptops und einen mini pc und würde gerne wissen was ihr zu den beiden Laptops sagt??? Was dürfte ich Max an ...

Firewall
OpenVPN-Problem
gelöst ingorosVor 1 TagFrageFirewall20 Kommentare

Hallo, habe gestern mit ipfire einen OpenVPN-Server aufgesetzt. Der läuft auch wunderbar. Sowohl Win7, wie auch Win10pro können sich problemlos anmelden. Ein Laptop mit Win10 ...

Windows 10
Remotedesktopzugang mit Openvpn sicher?
LegofrauVor 1 TagFrageWindows 108 Kommentare

Guten Morgen, wie sicher ist es wenn man Remotedesktopzugang durch einen Openvpn Tunnel betreibt? Der Openvpn Tunnel ist mit aktuellen Zertifikaten abgesichert. Der Pc hat ...

Windows Server
AD Replikation zwischen Standorten schlägt fehl nach Level auf 2008R2
diematrix125Vor 1 TagFrageWindows Server14 Kommentare

Hallo zusammen, ich habe ein (mittelschweres?) Problem mit dem AD. Ausgangssituation: Standort A: 3 DCs unter Win 2008R2 Standort B: 1 DC unter Win 2008R2 ...

LAN, WAN, Wireless
Gastnetzwerk für Restaurant mit FritzBox 4040
gelöst Net-ZwerKVor 9 StundenFrageLAN, WAN, Wireless11 Kommentare

Moin! Ich soll in einem kleinen Restaurant ein WLAN als Gastnetz einrichten. Aktuell ist vorhanden: Telekom Digitalisierungsbox Premium im Keller (macht ein WLAN, welches der ...

Windows 10
Win 10 Fehler 0xc000000e und bootmbr fehlt
dressaVor 1 TagFrageWindows 1010 Kommentare

Hallo miteinander. Ein guter Kollege von mir kam auf mich zu weil sein PC mit wichtigen Daten nicht mehr läuft. Er hatte laut seinen Aussagen ...

Entwicklung
Glasfaseranschluss mit 4 Knotenpunkten auf 26 Häuser 1 Büro aufteilen
chrisbaliVor 4 StundenFrageEntwicklung16 Kommentare

hallo liebe Leute in der alten heimat Ganz vorweg ich Habe erstmal keine Ahnung und kenne den Spruch ...