Estou tentando criar uma galeria de imagens e colocar nestas um botão para votação (Gosto como no Facebook).
Já consegui criar a galeria e colocar o Like nas imagens, mas acontece que quando as imagens passam para a linha de baixo o botão Like não acompanha a imagem.
Junto uma imagem para exemplificar como está e como deveria ser.
É o seguinte preciso fazer uma consulta em uma tabela cujo existe relação de valores em outra.
Mas que os resultados só poderão existir da seguinte forma.
Tabela-B (onde a pesquisa é feita) deve está com a mesmo valor de uma coluna na Tabela-A.
Ambas tabelas possuem uma coluna de status (que significa ativos) e em ambas tabelas por essa coluna só podem voltar resultados caso sua coluna referente tenha o status 1.
Em resumo são 5 condições para que haja resultado.
Montei a seguinte sintaxe:
SELECT
sectors.s_status,
sectors.s_hash,
sectors.s_title,
sectors.s_link,
pages.p_status,
pages.p_title,
pages.p_link,
pages.p_sector,
pages.p_content_b
FROM
sectors
INNER JOIN
pages
WHERE
sectors.s_hash = pages.p_sector
AND (pages.p_title LIKE '%{$search}%'
OR pages.p_content_b LIKE '%{$search}%')
AND (sectors.s_status = '1'
AND pages.p_status = '1')
ORDER BY
pages.p_title ASC
Está funcional como previsto. Porém acho que ficou mau feita... Teria uma jeito melhor para fazer?
E mais uma coisa....
Como a pesquisa busca tanto por título quanto por conteúdo.
Digamos que eu tenha uma string "teste" como título na coluna "p_title" na tabela "pages" e no mesmo resultado também tenho na coluna a mesma string "teste" em "p_content_b"....
Exemplo:
Logo com minha query terei 2 resultados só para uma página.
Teria como eu filtrar essa situação para que somente o título seja um resultado ignorando o valor da outra coluna? (Obs.: Isso já faço durante o loop de repetição no PHP, mas queria uma forma de fazer na query) "Limitar o resultado não deu certo...."
Estou precisando fazer uma query em uma tabela usando LIKE, mas preciso restringir que somente sejam mostrados os resultados cujo tenha uma das colunas idênticas.
Exemplo de query (que está errada!!!)
SELECT
coluna_A,
coluna_B,
coluna_C
FROM
tabela
WHERE
coluna_A LIKE '%ALGUM_VALOR%'
OR
coluna_B LIKE '%ALGUM_VALOR%'
AND
coluna_C = 'tenha esse valor'
Então preciso pesquisar existência de "algum valor" dentro das colunas A e B da tabela, mas que sejam retornados apenas resultados cujo a coluna C seja apenas um valor, que pode duplicar de registro para registro, mas na mesma tabela possuem outros registros cujo a coluna C não são iguais.
Obs.: Sempre fiz esse processo de filtrar o resultado via PHP, mas queria saber como fazer diretamente na query.
#EDIT:
Sendo mais específico
Digamos registros mais ou menos assim:
SELECT coluna_A, coluna_B, coluna_C FROM tabela WHERE coluna_A LIKE '%João%' OR coluna_B LIKE '%João% AND coluna_C = 'Carpinteiro'
Ou seja mesmo que que haja mais de um registro, somente é para trazer os resultados cujo a coluna C for carpinteiro
Prezados,
Estou precisando somar a coluna QUANTIDADE que são consultadas com um "DISTINCT material".
Segue código até o "DISTINCT material"
...
$busca_query = mysql_query("SELECT distinct material FROM material WHERE material LIKE '%$busca%' AND quantidade LIKE '%$busca1%' ORDER BY material ASC")or die(mysql_error());//faz a busca com as palavras enviadas
if (empty($busca_query)) { //Se nao achar nada, lança essa mensagem
echo "Nenhum registro encontrado.";
}
// quando existir algo em '$busca_query' ele realizará o script abaixo.
while ($dados = mysql_fetch_array($busca_query)) {
?>
<tr width="100%">
<td width="82%"><?php echo "$dados[material]<br />";?></td>
<td width="10%"><?php echo "$dados[quantidade] <br />";?>
...