2 verschiedene Zeilen aus 2 verschiedenen Tabellen vergleichen und eine Wiedergeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anhand
artikelnummer
beitrag
benutzer
besucher
bezeichnung
counter
ergebnis
farbe
fragen
handhaben
model
modell
modellbezeichnung
preisen
stehen
stellen
tabelle
trfllung
zwischenzeit
-
moinsen zusammen...
ich hab 2 zeilen in 2 verschiedenen MySQL-TABELLEN
in der ersten (preise) stehen Artickelnummern, Preise, Bezeichnungen u.s.w.
in diese Tabelle kann nur der Administrator etwas eintragen.
in der zweiten Tabelle (counter) stehen IP, ein Timestamp, und die vom Besucher gew?hlten Artickelnummern. In diese Tabelle schreiben die Besucher.
jetzt will ich mithilfe der, vom Besucher gew?hlten Artickelnummern, die anderen Sachen von preise auslesen und in einer Rechnung wiedergeben... ich k?nnte zwar die Tabelle "preise" nochmal in die Tabelle "counter" machen, aber dann wird counter zu gro? und braucht zu lange zum auslesen... deswegen mache ich das so.
hier ist mal das Script von mir...
$verbindung = mysql_connect ("localhost", "martin", "karl") or die ("keine Verbindung m?glich. Benutzername oder Passwort sind falsch"); mysql_select_db("homepage") or die ("Die Datenbank existiert nicht."); $abfrage = "SELECT * FROM counter WHERE ip = '".getenv (REMOTE_ADDR)."'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $Modell = $row->modell; $Tuerfuellung = $row->tuerfuellung; $Seitenfuellung = $row->seitenfuellung; $Handhabe = $row->handhabe; $Farbe = $row->farbe; //Modell auslesen und vergleichen $abfrage2 = "SELECT * FROM preise WHERE artikelnummer = '$Modell'"; $ergebnis2 = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis2)) { $Modellbezeichnung = $row->bezeichnung; $Modellpreis = $row->preis; echo '<div align="center"> <table border="0" width="100%"> <tr> <td bgcolor="#666666" width="22%"><b><font size="4" face="Arial"> Kategorie</font></b></td> <td bgcolor="#666666" width="61%"><font face="Arial" size="4"><b> Bezeichnung</b></font></td> <td bgcolor="#666666" width="15%"><b><font size="4" face="Arial"> Preis</font></b></td> </tr> <tr> <td width="22%"> <font face="Arial" color="#FFFFFF" style="font-size: 1pt">h</font></td> <td width="61%"> <font face="Arial" color="#FFFFFF" style="font-size: 1pt">h</font></td> <td width="15%"><font color="#FFFFFF" style="font-size: 1pt">h</font></td> </tr> <tr> <td bgcolor="#808080" width="22%"><font face="Arial">Modell:</font></td> <td bgcolor="#808080" width="61%">'.$Modellbezeichnung.'</td> <td bgcolor="#808080" width="15%">'.$Modellpreis.'</td> </tr> <tr> <td bgcolor="#C0C0C0" width="22%" height="24"><font face="Arial">F?llung (T?r):</font></td> <td bgcolor="#C0C0C0" width="61%" height="24"> </td> <td bgcolor="#C0C0C0" width="15%" height="24"> </td> </tr> <tr> <td bgcolor="#808080" width="22%"><font face="Arial">F?llung (Seiten):</font></td> <td bgcolor="#808080" width="61%"> </td> <td bgcolor="#808080" width="15%"> </td> </tr> <tr> <td bgcolor="#C0C0C0" width="22%"><font face="Arial">Handhabe:</font></td> <td bgcolor="#C0C0C0" width="61%"> </td> <td bgcolor="#C0C0C0" width="15%"> </td> </tr> <tr> <td bgcolor="#808080" width="22%"><font face="Arial">Farbe:</font></td> <td bgcolor="#808080" width="61%"> </td> <td bgcolor="#808080" width="15%"> </td> </tr> <tr> <td colspan="3"> <p align="center"> </td> </tr> <tr> <td bgcolor="#808080" width="22%"><b><font face="Arial">Gesamt:</font></b></td> <td bgcolor="#808080" width="61%"> </td> <td bgcolor="#808080" width="15%"> </td> </tr> </table> </div> '; } }
Das sind die MySQL Daten, von meinem Xamppserver... damit k?nnt ihr also nix anfangen...
aber noch ne kleine Beschreibung zum script...
zuerst stelle ich eine Verbindung zur MySQL-Datenbank her... dann lese ich zuerst die Tabelle "counter" aus und danach die Tabelle "preise". Dabei speichere ich jeweils die Spalten in eine Variable, damit ich die weiteren Abfragen besser einstellen kann... das will aber alles net so wie ich will... kann mir einer helfen?
W?re wirklich supa nett, wenn das einer hinkriegen k?nnte, ich such in der zwischenzeit auch mal weiter nach einer L?sung... vllt krich ich das auch anders hin... aber sieht bis jetzt net so aus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
1) Die PHP Formatierung von [ code ] ist der letzte Scheiss, da kann man das ganze lieber unformatiert lassen! Lesen kann man es so n?mlich nicht, geschweige denn vern?nftig kopieren.
2) K?rze gef?lligst deinen Code! Wer hat Lust sich HTML Code anzuschauen, der vollkommen uninteressant und sinnlos im Bezug auf deine Frage ist!
3) Stelle deine Frage genauer, ich habe zwar ungef?hr die Ahnung, was du willst, aber http://www.trust-us.ch/ds/81/012.htm! -
was gibt's denn an meiner Erkl?rung net zu verstehen? O.o
ich habe 2 MySQL-Tabellen... die eine hei?t preise und die andere hei?t counter.
in der Tabelle "Preise" habe ich die Artickel, mit ihren Artickelnummern und dem Preis... wenn der Homepageuser sich nun einen Artickel aussucht, wird die Artickelnummer in counter gespeichert, wo die IP gleich seine eigene IP ist. sp?ter wird einem dann die Rechnung ausgespuckt... in einer Rechnung stehen bekanntlich nur die Artickel, die man ausgew?hlt hat... so, nun ist das auflisten der einzelnen ausgew?hlten Artickel ja einfach, weil ich nur eine Tabelle Abfragen muss... wenn aber der Preis des Artickels noch da hinter soll, muss ich auch die andere Abfragen... dann m?chte ich die einzelnen AUSGEW?HLTEN Artickelnummern in Variablen speichern und PHP dem Befehl geben... nehme alles, wo die Artickelnummer gleich der gew?hlten Artickelnummer ist und gebe es aus. und genau da hapert es... und der Code ist schon kurz genug, der ist eigentlich 20 Seiten lang, weils halt ein applikator ist, der die Vorschau in echtzeit wiedergibt.... zumindest fast... Verz?gerungen sind ja nicht zu verhindern.
ich hoffe, dass meine Erkl?rung jetzt verst?ndlicher ist ^^ -
den benutzer anhand er ip zuindentifizieren ist nicht sehr clever...
aber mal zu deinem "problem". JOIN ist hier die "l?sung"
$sql = "SELECT * FROM counter AS t1, preise AS t2 WHERE t1.model = t2.artikelnummer AND t1.ip = '".getenv (REMOTE_ADDR)."'";
hier kannst du noch mal die ganzen m?glichkeiten von join nachlesen:
http://dev.mysql.com/doc/refman/5.1/de/join.html
mfg
Beitrag ge?ndert: 11.10.2006 19:17:05 von devar -
den benutzer anhand er ip zuindentifizieren ist nicht sehr clever...
aber mal zu deinem "problem". JOIN ist hier die "l?sung"
$sql = "SELECT * FROM counter AS t1, preise AS t2 WHERE t1.model = t2.artikelnummer AND t1.ip = '".getenv (REMOTE_ADDR)."'";
hier kannst du noch mal die ganzen m?glichkeiten von join nachlesen:
http://dev.mysql.com/doc/refman/5.1/de/join.html
mfg
Statt dem WHERE w?rde ich ein ON empfehlen, da sonst erst eine tempor?re Tabelle mit allen Kombinationen der Datens?tze erstellt wird und dann die WHERE-Klausel angewendet wird, was bei gro?en Tabellen recht fatal sein kann. Wenn z.B. beide Tabellen 100 Datens?tze beinhalten, so hat die tempor?re Tabelle schon 10 000 Datens?tze. Mit ON wird schon beim Verbinden der Tabellen die Klausel gepr?ft.
Beitrag ge?ndert: 12.10.2006 15:09:46 von phattek -
ahja, ok.... danke euch.... probier ich sofort mal aus, wenn ich wieder an meinem Xampserver bin ^^
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage