2017-01-28 3 views
1

Ich mache eine E-Commerce-Website. Ich möchte die Produkte basierend auf dem Text im Suchfeld filtern.Suche Bar Ergebnisse Filter php

Die ‚Produkte‘ Tabelle:

products 
id| type_id | brand_id | cat_id | title| desc 

ich überprüfen möchten, ob die result_text in type_name oder BRAND_NAME oder CAT_NAME vorhanden ist, und zeigen alle darauf basierenden Produkte.

Antwort

1

Ich werde Sie verwenden MySQL für Ihre Datenbank und das type_id, brand_id und cat_id sind Fremdschlüssel.

In MySQL haben Sie ein nettes Stichwort namens LIKE. Dann haben Sie schließt sich auch, welche Ihnen helfen, Daten aus verknüpften Tabellen holen

So benötigen Sie eine Abfrage wie

SELECT products.*, types.* /* other tables here */ 
FROM products LEFT JOIN types on products.type_id = types.id /* other joins here */ 
WHERE types.type_name LIKE '%/* variable here */%' OR brands.brand_name LIKE '%/* variable here */%' /* other conditions */ 
+0

, dass mein Fehler. Ich habe keinen dieser ausländischen Schlüssel gemacht. Was soll ich dann tun? –

+0

Falls Sie nicht über sie wissen, lesen Sie diesen, guten Artikel: https://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationshipsnet-8561 – Xymanek

+0

Ich weiß die Relationen habe ich aber vergessen, sie als Fremdschlüssel hinzuzufügen und ich habe auch mit allem weitergemacht und dann müsste ich den ganzen Code ändern. Gibt es also eine Möglichkeit, die Ergebnisse zu filtern, ohne sie zu Fremdschlüsseln zu machen? –