Поиск подсчет результатов
Делаю поиск определенного срока и показываю результат, который является правильным, теперь мне нужно показать количество каждого продукта, категория, например, поиск по слову "стул".
COZINHA (10) DORMITÓRIO (05)
мой поиск термином выглядел так:
mysql_select_db($database_conexao, $conexao);
$query_rsBusca = "SELECT marca.descricao AS marca,
produtos.id_produto,
produtos.id_departamento,
produtos.id_subdepartamento,
produtos.id_marca,
produtos.descricao AS prodDesc,
produtos.codigo_msb
FROM produtos INNER JOIN marca ON (produtos.id_marca = marca.id_marca)
WHERE (produtos.descricao LIKE '%".$pesquisa."%') OR
(produtos.resumo LIKE '%".$pesquisa."%') OR
(produtos.codigo_msb LIKE '%".$pesquisa."%') OR
(produtos.detalhes LIKE '%".$pesquisa."%') OR
(marca.descricao LIKE '%".$pesquisa."%') $ordena ";
// echo $query_rsBusca;
$rsBusca = mysql_query($query_rsBusca, $conexao) or die(mysql_error());
$row_rsBusca = mysql_fetch_assoc($rsBusca);
$totalRows_rsBusca = mysql_num_rows($rsBusca);
затем я сделал новый набор записей для отображения категорий и их значений, выглядел так:
mysql_select_db($database_conexao, $conexao);
$query_rsSoma = "SELECT
departamento.descricao AS descricao,
COUNT(*) AS Registros
FROM
departamento
INNER JOIN produtos ON (produtos.id_departamento = departamento.id_departamento)
INNER JOIN marca ON (produtos.id_marca = marca.id_marca)
WHERE
(produtos.descricao LIKE '%".$pesquisa."%') OR
(produtos.resumo LIKE '%".$pesquisa."%') OR
(produtos.codigo_msb LIKE '%".$pesquisa."%') OR
(produtos.detalhes LIKE '%".$pesquisa."%') OR
(marca.descricao LIKE '%".$pesquisa."%'))
GROUP BY
departamento.id_departamento";
$rsSoma = mysql_query($query_rsSoma, $conexao) or die(mysql_error());
$row_rsSoma = mysql_fetch_assoc($rsSoma);
$totalRows_rsSoma = mysql_num_rows($rsSoma);
, Но при запуске query, "мой сервер" обвиняет следующее ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
Near ') GROUP BY отдел.id_departamento' at line 13.
1
Author: eightShirt, 2015-02-01
1 answers
Удалось решить мою проблему, был в запасе ")" в конце строки, посмотрите, как он стоял Query полной коррекции.
mysql_select_db($database_conexao, $conexao);
$query_rsBusca = "SELECT marca.descricao AS marca,
produtos.id_produto,
produtos.id_departamento,
produtos.id_subdepartamento,
produtos.id_marca,
produtos.descricao AS prodDesc,
produtos.codigo_msb
FROM produtos INNER JOIN marca ON (produtos.id_marca = marca.id_marca)
WHERE (produtos.descricao LIKE '%".$pesquisa."%') OR
(produtos.resumo LIKE '%".$pesquisa."%') OR
(produtos.codigo_msb LIKE '%".$pesquisa."%') OR
(produtos.detalhes LIKE '%".$pesquisa."%') OR
(marca.descricao LIKE '%".$pesquisa."%') $ordena ";
// echo $query_rsBusca;
$rsBusca = mysql_query($query_rsBusca, $conexao) or die(mysql_error());
$row_rsBusca = mysql_fetch_assoc($rsBusca);
$totalRows_rsBusca = mysql_num_rows($rsBusca);
mysql_select_db($database_conexao, $conexao);
$query_rsSoma = "SELECT
departamento.descricao AS descricao,
COUNT(*) AS Registros
FROM
departamento
INNER JOIN produtos ON (produtos.id_departamento = departamento.id_departamento)
INNER JOIN marca ON (produtos.id_marca = marca.id_marca)
WHERE
(produtos.descricao LIKE '%".$pesquisa."%') OR
(produtos.resumo LIKE '%".$pesquisa."%') OR
(produtos.codigo_msb LIKE '%".$pesquisa."%') OR
(produtos.detalhes LIKE '%".$pesquisa."%') OR
/* AQUI TINHA UM ')' A MAIS */
(marca.descricao LIKE '%".$pesquisa."%')
GROUP BY
departamento.id_departamento";
$rsSoma = mysql_query($query_rsSoma, $conexao) or die(mysql_error());
$row_rsSoma = mysql_fetch_assoc($rsSoma);
$totalRows_rsSoma = mysql_num_rows($rsSoma);
Спасибо за помощь и советы.
1
Author: adventistapr, 2015-02-01 17:36:47