Troier Ben Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 (editado) como posso executar uma query varias vezes, sendo que a palavra é uma variavel que muda em cada loop.foreach($res as $ind=>$valor){ $sql = mysql_query("SELECT * FROM livros WHERE autor_livro OR titulo_livro like'%".$res[$ind]."%'");}Esse codigo só executa a ultima string do array :angry: GRATOO Editado Novembro 22, 2010 por quintelab Título alterado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Endor Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 Bom dia, Troier.Seja bem vindo!Uma sugestão, coloque este loop dentro de outro loop.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 troque o $res[$ind], por $resvocê não está comparando o título do livro com nada Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Troier Ben Postado Novembro 19, 2010 Autor Denunciar Share Postado Novembro 19, 2010 Trocar por $res apenas não deu certo.Colocar em um outro loop ?? desculpe mas não entendi. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 ele só executa a última ou só exibe a última, onde você está populando com a query, se está só isso no seu loop você realmente só irá enxergar o último código, coloque para ir exibindo todas as passagens do loop, se você quer só preencher o $sql mesmo seu erro está ao concatenar, faz assim$sql = '' foreach($res as $ind=>$valor){ $sql = $sql . mysql_query("SELECT * FROM livros WHERE autor_livro OR titulo_livro like'%".$res[$ind]."%'"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Troier Ben Postado Novembro 19, 2010 Autor Denunciar Share Postado Novembro 19, 2010 (editado) Isso tudo retorna a variavel $sql impossivel de ser manipulada por um fetch_assoc por exemplo,da o seguinte erro:mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Editado Novembro 19, 2010 por Troier Ben Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 tenta fazer o seguinte...$retorno_qry = ""; $result = ""; foreach($res as $ind=>$valor){ $sql = "SELECT * FROM livros WHERE autor_livro OR titulo_livro like'%".$res[$ind]."%'"; $retorno_qry = mysql_query($sql); while ($ls = mysql_fetch_object($retorno_qry){ $result = $result . $ls; } } //o retorno da sua query deve ficar no result. caso você esteja tentando preencher alguma table na tela você pode ir exibindo já na table. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Troier Ben Postado Novembro 19, 2010 Autor Denunciar Share Postado Novembro 19, 2010 Obrigado, fiz algumas alterações, mas foi mais ou menos isso.ficou:$result = array(); foreach($res as $ind=>$valor){ $sql = "SELECT * FROM livros WHERE autor_livro OR titulo_livro like'%".$valor."%'"; $retorno_qry = mysql_query($sql); while ($ls = mysql_fetch_array($retorno_qry)){ $result = $ls;agora funciona perfeitamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Troier Ben
como posso executar uma query varias vezes, sendo que a palavra é uma variavel que muda em cada loop.
foreach($res as $ind=>$valor){
$sql = mysql_query("SELECT * FROM livros WHERE autor_livro OR titulo_livro like'%".$res[$ind]."%'");
}
Esse codigo só executa a ultima string do array :angry:
GRATOO
Editado por quintelabTítulo alterado
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.