tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
238
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    Ich würde gerne einen kleinen Preisvergleich erstellen allerdings komme ich mit der Abfrage nicht ganz zurecht. Es geht darum das es ein Stammsortiment gibt, welches ich selber schon in die Datenbank eingepflegt habe. Nun vergebe ich an bestimmte Lieferanten/Hersteller Accounts, wo jeder dieser Hersteller/Lieferanten zu diesem Stammsortiment die eigenen Preise sowohl für Neue als auch Gebrauchte Produkte hinzufügen kann.

    Jeder dieser Lieferanten erstellt sich quasi seine eigenen Preisliste zu diesem Stammsortiment. User können nun aus diesem Stammsortiment Artikel auswählen und in den Warenkorb legen.

    Das klappt auch soweit ganz gut. Nun soll im zweiten Schritt ermittelt werden, wie der Gesamtpreis für die im Warenkorb liegende Bestellung , von jedem Lieferant/Hersteller lautet.

    Beispiel:

    1. Schritt:
    User kauft Neu :
    1 x Zahnbürste
    2 x Zahnpasta
    1 x Zahnseide
    2. Schritt:

    Hersteller A bietet dir dieses Set für : 13,25 EUR
    Hersteller B bietet dir dieses Set für : 16,15 EUR
    Etc. ..

    Ich denke mal das ich für die Grundabfrage folgende 2 Tabellen dafür benötige:

    - warenkorb
    - lieferanten_produkte

    Die Tabelle des Warenkorbs sieht wie folgt aus:
    WID = Warenkorb ID, Fortlaufende ID dieser Tabelle
    AID = User ID
    SID = Session ID
    KID = ARTIKEL ID (Stammsortiment)
    TYP = Neu oder Gebraucht
    Menge = Anzahl der einzelnen Artikel

    Die Tabelle der Lieferanten_Produkte sieht wie folgt aus:
    LPID = Fortlaufende ID dieser Tabelle
    KID = ARTIKEL ID (Stammsortiment)
    LID = Lieferant ID
    PREIS= Einzelpreis für dieses Produkt
    TYP= Neu oder Gebraucht
    Soviel erstmal zum bisherigen Aufbau. Ich bin kein PHP Profi deswegen bitte ich evtl. unschöne Programmierungsansätze zu entschuldigen.
    Durch Google bin ich auch das Thema Verbinden von zwei Tabellen gestoßen und habe meinen ersten Ansatz wie folgt aufgebaut:

    PHP-Code:
    $query"SELECT lieferanten_produkte.KID,
                    lieferanten_produkte.LID,
                    lieferanten_produkte.PREIS,
                    lieferanten_produkte.TYP,
                    warenkorb.AID,
                    warenkorb.SID,
                    warenkorb.KID,
                    warenkorb.TYP,
                    warenkorb.MENGE


    FROM lieferanten_produkte, warenkorb 

    WHERE warenkorb.SID='
    $SID' && warenkorb.TYP='".$_GET['TYPSELECT']."' &&  lieferanten_produkte.KID = warenkorb.KID";

    $result mysql_query($query) or die(mysql_error());

    while(
    $row mysql_fetch_object($result)){

    echo
    '$row->KID';


    Leider wird mir nichts ausgegeben. Ein Error erscheint auch nicht. Bin ich mit dieser Variante auf dem richtigen Weg oder ist das komplett für die Tonne?
    Wäre super wenn mir dabei jemand helfen könnte.

    lg
     

  2. #2
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Hi

    hast du schon alles ausprobiert was hier drin steht? Debug Queries
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  3. #3
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    Ja jetzt ja, aber leider ändert sich nichts an dem Ergebnis.
     

  4. #4
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    Jetzt habe ich es mal so probiert, aber auch da kommt leider kein Ergebnis zurück. Wobei ich meine gelesen zu haben das man solche Konstruktionen (Query in Query) vermeiden sollte.

    PHP-Code:
    $query mysql_query("SELECT * FROM warenkorb WHERE AID='$AID' && SID='$SID' && TYP='".$_GET['TYPSELECT']."' ");

    while(
    $warenkorb mysql_fetch_array($query)){

        
    $subquery mysql_query("SELECT * FROM lieferanten_produkte WHERE KID='".$warenkorb['KID']."' ");
        
        while(
    $lieferanten_produkte mysql_fetch_array($subquery)){
        
        echo 
    $lieferanten_produkte['LPID'];
        
        }


     

  5. #5
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Hallo

    ich habe deinen Code jetzt mal genauer gelesen. Was du suchst sind Joins. Schaue dazu mal in der MySQL Doku nach
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  6. #6
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    Ja genau, aber das wäre ja meine erste Variante. Dort habe ich einen INNER JOIN verwendet.
     

  7. #7
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Zitat Zitat von v0llmilch Beitrag anzeigen
    Ja genau, aber das wäre ja meine erste Variante. Dort habe ich einen INNER JOIN verwendet.
    Korrigiere mich wenn ich mich irre, aber für ein INNER JOIN solltest du auch den Befehl INNER JOIN benutzen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  8. #8
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    INNER JOIN und , (Komma) sind semantisch gleichwertig, wenn keine Join-Bedingung vorhanden ist: Beide erzeugen ein kartesisches Produkt zwischen den angegebenen Tabellen (d. h., jeder Datensatz in der ersten Tabelle wird mit jedem Datensatz in der zweiten Tabelle verknüpft).
     

  9. #9
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    @vOllmilch
    wenn du nach dem Tutroal gegangen bist, solltes du mindestens eine AUsgeabe des SQLs haben.

    Poste das mal hier, dann können wir über ein SQL sprechen und nicht mehr über in SQL in PHP verpackt.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Verknüpfung zweier Tabellen
    Von MeinerEiner_80 im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 28.07.07, 09:48
  2. C# XOR Verknüpfung zweier char-Arrays
    Von Amon-Rê im Forum .NET Café
    Antworten: 4
    Letzter Beitrag: 04.04.06, 11:01
  3. Datensätze anhand Verknüpfung zweier Tabellen löschen?
    Von metty im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 25.10.04, 14:40
  4. Verknüpfung von Tabellen
    Von RobertRitschel im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 18.07.04, 12:37
  5. Verknüpfung bei Tabellen
    Von blindbilly im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 18.10.03, 19:35