2016-07-10 21 views
-1

Ich habe eine Spalte in mysql Tabelle namens Kategorie.Mysql select LIKE

Clothese category is 1 
Mens clothes is 1-1 
Ladies clothes is 1-2 
Kids clothes is 1-3 

Das Ziel für obige Struktur ist leicht alle Kleidung mit folgenden Abfrage in einer Seite zu laden.

$cat=mysql_real_escape_string($_GET[cat]); 
$query="select * from campaigns WHERE category LIKE '$cat%' "; 

Bis hier funktioniert es gut, aber das Problem ist, ich eine andere Kategorie mit ID 10 für Parfums habe, wenn ich die Kategorie 1 zu ladende (einschließlich 1 selbst und es ist Subkategorien wie 1-1) ist es geladen Kategorie 10 auch.

Bitte lassen Sie mich wissen, was die richtige Lösung ist

+1

kann "auswählen * aus Kampagnen WHERE Kategorie LIKE '{$ cat} -%'" lösen Sie Ihr Problem für Parfüms 'LIKE '10 -% '' –

+3

Sparen Sie sich etwas Zeit und schreiben Sie die Anwendung neu, um die 'mysql_ *' Familie nicht zu verwenden von Funktionen: http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – Sumurai8

+0

Ich habe Ihren Code angewendet und beide URLs laden kein Produkt products.php? cat = 10 products.php? Cat = 10- –

Antwort

1

Abfrage für sein: 1-1,1-2

$query="select * from campaigns WHERE category LIKE '$cat-%' "; 

Das Gleiche gilt für 10 auch bearbeiten funktioniert:

$query1=mysql_numrows("select * from campaigns WHERE category LIKE '$cat-%' "); 
if($query1>0) $str="-" 
else $str=""; 
$query_final=mysql_query("select * from campaigns WHERE category LIKE '$cat$str%'"); 
+0

Dies ist nicht praktikabel wie zum Beispiel für Kategorie 10 haben wir nicht 10-1 und so –

+0

Bereits getestet, funktioniert es nicht für 10 –

+0

Schauen Sie sich die bearbeitete könnte die Arbeit tun – Satty