Проблем с изкарване

niki_noki

Registered
PHP:
$query = mysql_query("SELECT * FROM `godini` WHERE `godina` LIKE '%$item%' OR `info` LIKE '%$item%' OR `date` LIKE '%$item%' AND active='1'");

Така изкарва и данните с active='0' ??

А когато е :

PHP:
$query = mysql_query("SELECT * FROM `godini` WHERE `godina` LIKE '%$item%' AND `active`='1'");

Изкарва си само active='1'...

Защо става така :?
 
Групирай си условията, като ги сложиш в скоби.
Т.к.
[sql]$query = mysql_query("SELECT * FROM `godini` WHERE ( `godina` LIKE '%$item%' OR `info` LIKE '%$item%' OR `date` LIKE '%$item%' ) AND active='1'");[/sql] това означава да търси всичко (от твоите условия) и задължително active да е равно на 1.
Това се случва, защото има разлика между AND и OR, като AND се изпълнява преди OR, и оттам настава пълното объркване.
 
Replace каза:
Групирай си условията, като ги сложиш в скоби.
Т.к.
[sql]$query = mysql_query("SELECT * FROM `godini` WHERE ( `godina` LIKE '%$item%' OR `info` LIKE '%$item%' OR `date` LIKE '%$item%' ) AND active='1'");[/sql] това означава да търси всичко (от твоите условия) и задължително active да е равно на 1.
Това се случва, защото има разлика между AND и OR, като AND се изпълнява преди OR, и оттам настава пълното объркване.

+1
 

Back
Горе