No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
$banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
$banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
while($busca= mysqli_fetch_array($banner)){
print $busca['cidade'].'<br>';
};
Tenho uma tabela Itens com os campos Descrição e nome do produto, quando eu coloco no select.
Eu gostaria que me retorna-se, todos os nomes dos produtos e retornar apenas uma vez a Descrição.
Select com ORDER BY
"SELECT DISTINCT c.id, c.descricao, i.id_categoria, i.descricao_produto, i.id_item, i.nome_produto, i.imagem, i.preco, i.qntdade FROM
tab_categoria AS c JOIN tab_itens AS i ON c.id = i.id_categoria WHERE c.id = i.id_categoria AND i.id_empresa = '$id_empresa' ORDER BY c.descricao"
Select com GROUP BY, até da certo, mas retorna apenas um produto.
"SELECT DISTINCT c.id, c.descricao, i.id_categoria, i.descricao_produto, i.id_item, i.nome_produto, i.imagem, i.preco, i.qntdade FROM
tab_categoria AS c JOIN tab_itens AS i ON c.id = i.id_categoria WHERE c.id = i.id_categoria AND i.id_empresa = '$id_empresa' GROUP BY c.descricao"
Veja como esta ficando do jeito que eu estou fazendo, com ORDER BY
Select_com_ORDER_BY
Opa!
Então.... como eu faria uma query que me retornasse apenas colunas cujo seu valor seja duplicado estou meio confuso como proceder?
Digamos uma query para exemplificar melhor:
SELECT * FROM tabela
E teria um resultado assim:
$resultado = [
0 => [
'id' => 1,
'repetido' => 'abcde'
],
1 => [
'id' => 2,
'repetido' => 'aaaaa'
],
2 => [
'id' => 3,
'repetido' => 'abcde'
],
3 => [
'id' => 4,
'repetido' => 'bbbbb'
],
];
Então no índice 0 e no índice 2 tenho a coluna com o valor repetido.
Como eu poderia esta fazendo a query de forma que me retornasse somente os resultados que são repetidos?
Lembrando que não indicarei o valor de busca, pois foi isso que me pegou e não estou sabendo como proceder...
Até onde eu sei usei a lógica e não deu certo:
SELECT
id,
repetido
FROM
tabela
GROUP BY
repetido
HAVING COUNT(repetido) > 1
Pois dessa forma só me retorna o último índice repetido e eu preciso de todos que forem repetidos.
Poderiam me ajudar com a seguinte condição:
<?php if ($row['facebook'] != "") {
echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>';
} else {
echo '';
} ?>
Estou recebendo o seguinte erro:
Parse error: syntax error, unexpected 'facebook' (T_STRING), expecting ';' or ',' in C:\xampp\htdocs\biazinha\inicial.php on line 371
A linha 371 é essa:
echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>';
Bom dia!
Peguei um sistema para atualizar para funcionar, o problema é que foi criado uma ligação de tabelas meio louca aqui, vou tentar explicar, tem uma tabela usuários que tem um id, e tem uma outra tabela em que a usuários é ligada e nela pode ter um ou mais usuários, o problema é que foi colocado os ids na mesma linha separados por um caracter, e os usuários se repetem, vou colocar abaixo para exemplificar:
Tabela Usuarios/id
id1, id2, id3...
Como vou gastar um tempo para refazer novamente o banco de dados, queria fazer funcionar momentaneamente, e gostaria da ajuda para tentar se possível fazer uma consulta que me traga todos os usuarios listados na tabela escala