SQL-syntaxen blir fel.
Du ska ha ett WHERE, och sedan AND mellan villkoren. (om det är en AND-sökning vill säga.)
Du behöver då också gruppa dina villkor med parenteser eftersom du använder både AND och OR i WHERE-satsen.
3 svar · 280 visningar · startad av Fuel
Om jag skriver mer än 1 sökord bangar det ur.. ( Kan inte genomföra sökning! )
function show_products($thisCat)
{
if($_POST['action'] == "search" && !empty($_POST['sitem'])) {
$_POST['sitem'] = strip_tags($_POST['sitem']);
$sql = "SELECT * FROM fcms_shop_products ";
$sokorden = explode(" ", $_POST['sitem']);
foreach ($sokorden as $keyword)
{
$sql .= "WHERE title LIKE '%$keyword%' OR text LIKE '%$keyword%'";
}
$sql .= " ORDER BY id DESC";
$fetchProds = mysql_query($sql) or die ("Kan inte genomföra sökning!");
} else {
$fetchProds = mysql_query("SELECT * blahh...") or die ("Kan inte hämta artiklar!");
}
SQL-syntaxen blir fel.
Du ska ha ett WHERE, och sedan AND mellan villkoren. (om det är en AND-sökning vill säga.)
Du behöver då också gruppa dina villkor med parenteser eftersom du använder både AND och OR i WHERE-satsen.
I get the picture :r :e ..dags för lite siesta..
så...
$sql = "SELECT * FROM fcms_shop_products WHERE";
$sokorden = explode(" ", $_POST['sitem']);
$rr = count($sokorden);
$i = 1;
foreach ($sokorden as $keyword)
{
$sql .= " title LIKE '%$keyword%' OR text LIKE '%$keyword%'";
if ($rr != $i) { $sql .= " OR"; }
$i++;
}