Ir para conteúdo
Fórum Script Brasil
  • 0

erro no IF com select


o.igor

Pergunta

Boa tarde

estou com problema no meu if ao chamar os dados.

Ele esta chamando somente uma opção do if (e mesmo assim de um jeito errado) ele deveria executar uma das 3 opções abaixo:

1 = >todos usuarios por data = se usuario vazio e data preenchida (so esta chamando essa e mesmo assim um usuario tem q estar selecionado, o que esta errado o usuario tinha que estar vazio)

2 = > usuario por data = usuario preenchido e data preenchida

3 = >so o usuario = usuario preenchido e data vazia todo o resto não retorna nada.

o codigo esta assim agora:

 

if (isset($_POST['busca']) && !empty($_POST['busca'])){
//todos usuarios por periodo
$sql = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim' and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC";
 
}
else if(isset($_POST['data_inicial']) && !empty($_POST['data_inicial']) and isset($_POST['data_final']) && !empty($_POST['data_final'])){
    
//so usuario 
$sql = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE u.nome = '$busca' and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC";

}
else{

//usuario por periodo
$sql = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim' and u.nome = '$busca' and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC";
}

      print "<table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'>";
     print "<tr class='tabela_cinza'>";
     print "<td align='center' colspan='10'><span class='texto_negrito'>Relat&oacute;rio Geral</span></td>";
     print "</tr>";
     print "<tr>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Número</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Técnico</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Problema</span></td>";
     print "<td align='center' width='16%'><span class='texto_negrito'>Descriçao do problema</span></td>";
     print "<td align='center' width='16%'><span class='texto_negrito'>Soluçao do Problema</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Área</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Unidade</span></td>";
     print "<td align='center' width='12%'><span class='texto_negrito'>Local</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Data inicial</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Data final</span></td>";
     print "</tr>";
     print "</table>";
      $qr = mysql_query($sql) or die(mysql_error());
     while ($linha = mysql_fetch_array($qr)) {
     print "<form action='' method='post' name='CadInfo' target='_parent' id='CadInfo'>";
     print "<table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'>";
     print "<tr>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['numero']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['nome']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['problema']."</span></td>";
     print "<td align='center' width='16%'><span class='texto_center'>".$linha['descricao']."</span></td>";
     print "<td align='center' width='16%'><span class='texto_center'>".$linha['assentamento']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['sistema']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['inst_nome']."</span></td>";
     print "<td align='center' width='12%'><span class='texto_center'>".$linha['local']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['data_abertura']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['data_fechamento']."</span></td>";
     print "</tr>";
     print "</table>";
     print "</form>";
     }
 

Um ótimo final de semana a todos.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

bom dia wash esta tudo assim:

campo de busca:

<select name="busca" id="busca">
                <option></option>
                  <?php

  $sql = mysql_query("SELECT * FROM usuarios ORDER BY nome ASC"); 
        while ($linha = mysql_fetch_array($sql)) {
?>
                  <option value="<?php echo $linha['nome'];?>"> <?php echo $linha['nome'];?></option>
                  <?php } ?>
                </select>

*****************************************************************************

capos data:

<input type="text" name="data_inicial" onKeyUp="mascaraData(this);" maxlength="10" class="texto_negrito"/>

<input type="text" name="data_final" id="data_final" onKeyUp="mascaraData2(this);" maxlength="10" class="texto_negrito"/>

*********************************************************************************

e o meu sql esta assim ultimamente:

 if(isset($_POST['data_inicial']) && !empty($_POST['data_inicial']) && isset($_POST['data_final']) && !empty($_POST['data_final']))
 {

//so usuario 
$sql = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE u.nome LIKE '$busca' and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC";
  
}

elseif (isset($_POST['busca']) && !empty($_POST['busca']) && $dmyinicio == $_POST['data_inicial'] && $dmyfim == $_POST['data_final']){

//todos usuarios por periodo
$sql = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim' and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC";

}
else{


//usuario por periodo
$sql = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim' and u.nome LIKE '$busca' and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC";
}

     //Tabela de impressao dos resultados
      print "<table width='100%' border='1' align='center' cellpadding='1' cellspacing='2' class='full_table_list'>";
     print "<tr>";
     print "<td align='center' colspan='10'><span class='texto_negrito'>Relat&oacute;rio Geral</span></td>";
     print "</tr>";
     print "<tr>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Número</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Técnico</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Problema</span></td>";
     print "<td align='center' width='16%'><span class='texto_negrito'>Descriçao do problema</span></td>";
     print "<td align='center' width='16%'><span class='texto_negrito'>Soluçao do Problema</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Área</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Unidade</span></td>";
     print "<td align='center' width='12%'><span class='texto_negrito'>Local</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Data inicial</span></td>";
     print "<td align='center' width='8%'><span class='texto_negrito'>Data final</span></td>";
     print "</tr>";
     print "</table>";
      //Executa a Query         
      $qr = mysql_query($sql) or die(mysql_error());
     //Imprime os dados na tabela
     while ($linha = mysql_fetch_array($qr)) {
     print "<form action='' method='post' name='CadInfo' target='_parent' id='CadInfo'>";
     print "<table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'>";
     print "<tr>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['numero']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['nome']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['problema']."</span></td>";
     print "<td align='center' width='16%'><span class='texto_center'>".$linha['descricao']."</span></td>";
     print "<td align='center' width='16%'><span class='texto_center'>".$linha['assentamento']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['sistema']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['inst_nome']."</span></td>";
     print "<td align='center' width='12%'><span class='texto_center'>".$linha['local']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['data_abertura']."</span></td>";
     print "<td align='center' width='8%'><span class='texto_center'>".$linha['data_fechamento']."</span></td>";
     print "</tr>";
     print "</table>";
     print "</form>";
     }//fim do while

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Que bom q já resolveu!

Eu estava reescrevendo o seu script de maneira a evitar algumas repetições.

Ah! Sempre que puder, use echo ao invés de print, o echo é mais rápido!

Sugiro que use <th></th> pra fazer o cabeçalho da tabela, pois já vêm com texto centralizado e em negrito, leia em: http://www.w3schools.com/tags/tag_th.asp

E não entendi porque ter uma tabela dentro de um formulário, que não tem nenhum campo de formulário... aquele formulário com name='CadInfo' faz algum sentido?

Veja como tava ficando:

<!doctype html>
<html>
    <head>
        <meta charset='utf-8'>
    </head>
    <body>
        <form method="post">
            
            <label>Busca:</label>
            <input type="text" name="busca"><br>
            <label>Data Inicial:</label>
            <input type="date" name="data_inicial"><br>
            <label>Data Final:</label>
            <input type="date" name="data_final"><br>
            <input type="submit" value="buscar">
        </form>
        <?php
//Conexão com o Banco de Dados
        $conexao = mysql_connect('localhost', 'root', '') or die('Não foi possí­vel conectar: ' . mysql_error());
//Conexão bem sucedida seleciona o BD
        $db_selected = mysql_select_db('scriptbrasil');

        $start_query = "SELECT * FROM
                assentamentos a, usuarios u, ocorrencias o, 
                problemas p, localizacao l, instituicao i, sistemas s 
                WHERE ";
        $end_query = " and a.responsavel = u.user_id 
            and a.data = o.data_fechamento 
            and p.prob_id = o.problema 
            and o.local = l.loc_id
            and i.inst_cod = o.instituicao 
            and s.sis_id = o.sistema 
            ORDER BY o.numero DESC";

        if (isset($_POST['busca']) && !empty($_POST['busca'])) {
//todos usuarios por periodo
            $middle_query = " o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim'";
        } elseif (isset($_POST['data_inicial']) && !empty($_POST['data_inicial']) && isset($_POST['data_final']) && !empty($_POST['data_final'])) {
//so usuario 
            $middle_query = " u.nome = '$busca'";
        } else {
//usuario por periodo
            $middle_query = " o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim' and u.nome = '$busca'";
        }

        echo "<table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'>
<tr class='tabela_cinza'>
<td align='center' colspan='10'><span class='texto_negrito'>Relatório Geral</span></td>
</tr>
<tr>
<th width='8%'>Número</th>
<th width='8%'>Técnico</th>
<th width='8%'>Problema</th>
<th width='16%'>Descriçao do problema</th>
<th width='16%'>Soluçao do Problema</th>
<th width='8%'>Área</th>
<th width='8%'>Unidade</th>
<th width='12%'>Local</th>
<th width='8%'>Data inicial</th>
<th width='8%'>Data final</th>
</tr>
</table>";
        $query = $start_query . $middle_query . $end_query;
        echo '<pre>Query montada: ';
        print_r($query);
        echo '</pre>';
        $qr = mysql_query($query) or die(mysql_error());
        while ($linha = mysql_fetch_assoc($qr)) {
            echo "<form action='' method='post' name='CadInfo' target='_parent' id='CadInfo'>
<table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'>
<tr>
<td align='center' width='8%'><span class='texto_center'>$linha[numero]</span></td>
<td align='center' width='8%'><span class='texto_center'>$linha[nome]</span></td>
<td align='center' width='8%'><span class='texto_center'>$linha[problema]</span></td>
<td align='center' width='16%'><span class='texto_center'>$linha[descricao]</span></td>
<td align='center' width='16%'><span class='texto_center'>$linha[assentamento]</span></td>
<td align='center' width='8%'><span class='texto_center'>$linha[sistema]</span></td>
<td align='center' width='8%'><span class='texto_center'>$linha[inst_nome]</span></td>
<td align='center' width='12%'><span class='texto_center'>$linha[local]</span></td>
<td align='center' width='8%'><span class='texto_center'>$linha[data_abertura]</span></td>
<td align='center' width='8%'><span class='texto_center'>$linha[data_fechamento]</span></td>
</tr>
</table>
</form>";
        }
        ?>
    </body>
</html>

 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...