Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, não sei como fazer a consulta no caso abaixo...
TABELA RELATORIO: ID_REL, DATA, DADOS
Tenho um formulário de busca para encontrar e exibir as IDs_REL requeridas, exemplo:
Usuário quer exibir dos dados do relatório: 3,5,9,10... ele digita no campo "numeros" do form e clica em buscar...
Feito isso, carrega todos os DADOS, um embaixo do outro das ID_REL 3,5,9,10.
Não sei fazer essa consulta no MySQL. Alguém poderia me ajudar?
Obrigado.
Wagner, obrigado pela ajuda...
Bom, dei uma enxugada no código...
Qdo preencho a busca com apenas uma única ID_REL.
Exemplo "6", ele imprima na tela os dados.
Agora, quando preencho no campo mais de uma ID_REL, ele não encontra nenhum resultado.
Exemplo: 6,8 ou 6 8
Olhe como fiz:
<?php
// conecta BD ...
require_once("conectar/config.php");
// limpa cache ...
Header("Cache-Control: no-cache, must-revalidate");
Header("Pragma: no-cache");
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
$palavra = $_POST[palavra];
?>
<?php
$qry = "(select * from Relatorios where id_rel like '%$palavra%' order by id_rel)";
$result = mysql_query($qry);
$linhas = mysql_num_rows($result);
if ($linhas==0) {
echo "Não foi encontrado nenhum relatório.";
}
else {
?>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td>
<?php
for($i=0;$i<$linhas;$i++){
$id_rel = mysql_result($result, $i, "id_rel");
$id_rep = mysql_result($result, $i, "id_rep");
echo "<tr><td>$id_rel - $id_rep<br></td></tr>\n";
}
?>
</table>
<?php
}
?>
Como será que posso mudar pra consultar e mostrar mais de uma ID_REL...
Obrigado, abraços.
pois é, tai uma boa pergunta...
fiz alguns testes aqui mas nenhum funcionou.
vou dar uma pesquisada quanto a esse tipo de pesquisa, assim que encontrar alguma coisa eu posto aqui...
abraço!
Se houver mais de um valor, será necessário criar mais filtros na consulta. Use explode() para separar as palavras e monte, dinamicamente, a consulta SQL, conforme o número de elementos do array n retornado por explode().
PHP
$palavras = explode(" ", $palavra);
//a consulta ficaria mais ou menos assim:
//$sql = "Select dados from tabela where campo = $palavras[0] OR campo = $palavras[1]..."
Use um loop para percorrer o array e montar a consulta
1º - O usuário tera que digitar os números dos relatórios separados por ",".
Ae fica assim:
$relatorios = $_POST['relatorios'];
> $x = "SELECT * FROM cad_codigo WHERE id_relatorio in (".$relatorios.") ORDER BY id_relatorio";
ae fica assim:
Se ele digitou 22,23,25,27 no campo 'relatorios', ainstrução fica assim:
$x = "SELECT * FROM cad_codigo WHERE id_relatorio in (22,23,25,27) ORDER BY id_relatorio";
Abraço http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif
Jezão,
Isso mesmo cara... matou a charada!
Obrigado... não sabia desse "in". http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif
Abraços.
Beleza! Qualquer coisa tamo ae! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
tenta fazer assim:
lista_pesquisa.php
<?
{
else
{
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
body,td,th {
body {
a {
a:link {
a:visited {
a:hover {
a:active {
-->
<?
else{
} else {
while ($dados = mysql_fetch_array($limite)) {
lógico, eu tirei algumas váriaveis ali do meio pq eu uso esso em um sistema de um cliente, mas tenta usar isso ai pra fazer o que você precisa.
qualquer coisa da um toque ai que eu te dou uma mão.
falow