2012-04-11 9 views
0

Als Teil meiner E-Commerce-Anwendung habe ich dieses interessante Problem, ich habe versucht, zu lösen.mysql Abfrage auswählen, Dropdown-Felder vorzufüllen

Ich habe zwei Dinge.

  • Kategorie
  • Produkt

In relationaler Datenbank Sinne kann eine Kategorie mehr als ein Produkt hat, und ein Produkt kann nur zur Kategorie gehört.

Dann habe ich diese E-Commerce-Admin-Gutschein-Seite, wo ich die Coupon-Details, die mit einem bestimmten Produkt und Kategorie zugeordnet ist, ändern möchte.

Auf der ändern Seite, habe ich die folgenden Felder

Beschreibung Coupon - TextField- Typ Preis Coupon - TextField- Typ Prozentsatz Coupon - TextField- Typ Kategorie Name - Dropdownfield Typ Artikelname - Dropdownfield Typ

Ich habe die folgende SQL-Abfrage.

$sql = "SELECT cp_description, cp_discountprice, cp_discountpercent, pd_name, cat_name 
     FROM tbl_coupon inner join (tbl_product, tbl_category) on 
     (tbl_product.pd_id = tbl_coupon.pd_id AND  tbl_category.cat_id=tbl_product.cat_id) 
     WHERE cp_id = $cpId"; 

Was ist mit diesem Problem wirklich interessant ist, ist, dass ich nicht pd_id enthalten könnte und cat_id Felder in die SQL-Abfrage, damit ich sie in einem anderen SQL-Code manipulieren, dass diese Felder nachschlagen korrekt ausgewählt abrufen Element in einem Dropdown-Feld, wenn es zuvor ausgefüllt wurde.

Ich kann nicht pd_name oder CAT_NAME in select-Anweisung verwenden, da diese Felder nicht ‚einzigartig‘ sind so können Probleme verursachen.

Hat jemand eine Idee, was ist der beste Weg, dieses Problem anzugehen? Ich dachte, dass das distinkte Schlüsselwort den Trick tun kann ... Aber es tut nicht!

Antwort

0

Können Sie eine Abfrage wie diese nicht verwenden?

SELECT 
    cp.cp_description, cp.cp_discountprice, cp.cp_discountpercent, 
    p.pd_id, p.pd_name, 
    cat.cat_id, cat.cat_name 
FROM tbl_coupon cp 
INNER JOIN tbl_product p ON p.pd_id = cp.pd_id 
INNER JOIN tbl_category cat ON p.cat_id = cat.cat_id 
WHERE cp_id = $cpId 
+0

Okay. Dank dafür. Ich werde es versuchen und lassen Sie wissen, ob es funktioniert oder nicht. – awongCM

+0

Hallo. Sie wissen nur, dass der Code funktioniert ... Ich wusste, dass es eine grundlegende SQL-Syntax gibt, mit der Sie eindeutige IDs in einer Abfrage abrufen können ... War mir nicht sicher, was es war, bis Sie es erklärten. Danke noch einmal! – awongCM

Verwandte Themen