
RRH
Membros-
Total de itens
173 -
Registro em
-
Última visita
Tudo que RRH postou
-
ESerra, seu código funcinou aqui, porém os outros campos do formulário não estão funcionando, creio que o motivo esteja relacionado aos operadores lógicos. Veja como está sendo montada a query unindo seu código ao meu: SELECT * FROM tabelamesclada JOIN tabela ON tabelamesclada.codnat = tabela.natureza WHERE situacao='E' AND natureza LIKE '%A02%' OR natureza LIKE '%A05%' OR natureza LIKE '%A21%' OR natureza LIKE '%B01%' AND bairro LIKE 'CENTRO%' ORDER BY tabela.id DESC Mesmo tentando manualmente assim não funciona: SELECT * FROM tabelamesclada JOIN tabela ON tabelamesclada.codnat = tabela.natureza WHERE situacao='E' AND bairro LIKE 'CENTRO%' AND natureza LIKE '%A02%' OR natureza LIKE '%A05%' OR natureza LIKE '%A21%' OR natureza LIKE '%B01%' ORDER BY tabela.id DESC Ainda não encontrei como usar os operadores lógicos de forma mais complexa.
-
Preciso de uma função se for o caso, que monte a condição dinamicamente sim, mas com os dados de apenas um campo do formulário. A dificuldade está em montar o códico abaixo dinamicamente: $and .= "AND tipo LIKE '%$tipo[0]%' OR tipo LIKE '%$tipo[1]%' OR tipo LIKE '%$tipo[3]%' OR tipo LIKE '%$tipo[4]%'"; ...e quantos outros OR tipo LIKE forem necessários de acordo com a quantidade de condições lançada no campo formulário separados por "," assim "A,B,C,D".
-
O conteúdo postado acima é avançado para meus conhecimentos, então se estiver errado por favor me corrijam. Pelo que entendi do código acima ele não resolve a minha dúvida. O que preciso é criar uma forma de selecionar todos os registros que contenham os códigos digitados no formulário de pesquisa. Imaginemos o nosso alfabeto (A,B,C,D...) e suponhamos que eu queira filtrar todos os registros de uma tabela que contenham a letra A. Até aqui tudo bem, eu crio um formulário pra digitar a letra A e mando executar o select que vai trazer todos os registros com a letra A. Agora como fazer pra filtrar todos os registros da tabela que contenham as letras A,D,F,I,W? Obrigado.
-
Estou precisando melhorar meu sistema de busca aqui que está filtrando pelo campo TIPO assim: $tipo = explode (",",$_POST["tipo"]); if(isset($tipo) AND $tipo != "") $and .= "AND tipo LIKE '%$tipo[0]%' OR tipo LIKE '%$tipo[1]%' "; Da forma acima apresentada só consigo utilizar duas strings do array formado pelo input TIPO do meu formulário. Como aumentar o número de strings dinamicamente conforme a quantidade de valores inseridos no formulário?
-
RafaelSarti, Como quero pegar o total de registros cadastros por dia do mês eu adaptei assim: $sql = "SELECT data, COUNT(*) AS total, DAY(data) as dia FROM tabela GROUP BY dia ORDER BY total DESC"; Funcionou perfeitamente. Muito obrigado.
-
Com o código abaixo consigo montar um relatório com o total de registros da tabela agrupado por bairros: $sql = "SELECT bairro, COUNT(*) AS total FROM tabela GROUP BY bairro ORDER BY total DESC"; Ex: BairroA -> 30 BairroB -> 42 BairroC -> 80 Como fazer uma consulta agrupando por dia do mês baseado em um campo date? Ex: Dia01 -> 45 Dia02 -> 60 Dia03 -> 33
-
Estou conseguindo meu intento fazendo da seguinte forma: <?php if (!isset($_SESSION)) session_start(); include "config.php"; $datain = date ("Y-m-d H:m:i", strtotime ($_POST['datain'])); $datafi = date ("Y-m-d H:m:i", strtotime ($_POST['datafi'])); // Definindo o tipo de arquivo (Ex: msexcel, msword, pdf ...) header("Content-type: application/msword"); // Formato do arquivo (Ex: .xls, .doc, .pdf ...) header("Content-Disposition: attachment; filename=Relatório_".date("d-m-y-His").".doc"); // Montando a tabela $html = "<p align='center' />"; $html .= "<td><img src='/imagens/logo.jpg' width='200' height='120'></td>"; $html .= "<p align='center'/>"; $html .= "<td>RELATÓRIO</td>"; $html .= "<p />"; $sql = "SELECT * FROM registros WHERE data BETWEEN '$datain' AND '$datafi' ORDER BY id ASC "; $query = mysql_query($sql); while ($linha = mysql_fetch_array($query)) { $html .= "<p />"; $html .= "<td><b>ID:</b> ".$linha['id']."</td>"; $html .= "<p />"; $html .= "<td><b>DATA:</b> ".$linha['data']."</td>"; $html .= "<p />"; $html .= "<td>TOTAL:</b> ".$linha['total']."</td>"; $html .= "<p />"; $html .= "<td> </td>"; } // Jogando o conteúdo para o arquivo print($html); ?> Só que agora estou esbarrado na inserção da imagem no arquivo ($html .= "<td><img src='/imagens/logo.jpg' width='200' height='120'></td>";). Não tem como inserir imagem ou estou fazendo algo errado?
-
Mas como fazer isso usando um loop?
-
É possivel realizar uma consulta e exportar as informações para um arquivo no formato doc para montar um relatório?
-
Com o while é possível gerar uma tabela com os resultados de uma consulta, mas como fazer pra montar essa tabela inserindo uma linha separando os registros por data?
-
Muito obrigado, funcionou perfeitamente. Caro Ricardo T. do Prado, vou fazer o que você recomendou.
-
Como fazer para verificar se o resultado de uma consulta é igual a um valor que compõe um array? Exemplo: $tipo = array ("A","B","C","D","E"); Tenho uma consulta que retorna uma tabela mais ou menos assim: id|tipo|nome|logradouro|bairro|cidade|estado Então quero mudar o resultado a ser exibido quando o resultado da coluna TIPO seja igual a um dos valores da variável $tipo. Achei algo que parece ser o caminho: <?php $meuarray=Array("a","b","c"); $encontrar="d"; if(in_array($encontrar,$meuarray)){ echo "Encontrado! O valor da variável está presente no Array"; } else { echo "Negativo, meu caro... o que você procurou não está no Array."; } ?> Tentei adaptar a minha necessidade mas não deu certo: <td align="center"><? $tipo = array ("H12000","A05000"); $com = $linha['tipo']; if(in_array($com,$tipo)) {echo "Teste";} ?></td>
-
Agora o código funcionou, mas ainda não é isso que eu preciso! Ele me retornou os valores "48 22 17 4 7 6 5 7 1", mas eu preciso deles separados para inserir cada valor em uma tabela diferente. Obrigado.
-
Somente agora pude voltar a testar as dicas acima. Quanto ao ";" mesmo tirando continua dando erro. Parse error: syntax error, unexpected T_ENDFOREACH in /var/www/teste.php on line 23
-
Impressionante! Exatamente o que eu precisava, muito obrigado.
-
Tenho o seguinte select: $sql = "SELECT placa, COUNT(*) AS total FROM veic GROUP BY placa ORDER BY total DESC, placa ASC"; Ele agrupa por placa e dá o total. Ex: AAA-0000 = 5 BBB-1111 = 1 CCC-2222 = 6 DDD-3333 = 1 EEE-4444 = 10 FFF-5555 = 12 Agora a minha dúvida é se tem como filtrar de forma que só mostre "PLACA > 1" exibindo apenas as placas abaixo: AAA-0000 = 5 CCC-2222 = 6 EEE-4444 = 10 FFF-5555 = 12
-
Ok obrigado, agora funcionou!
-
Como faço pra colocar um "target=blank" no link abaixo: echo "<a href=".strrev ($url).">".strrev ($url)."</a>";
-
Não sei se é a melhor maneira de se fazer isso, mas lendo esse post AQUI consegui resolver meu problema usando a função extract()
-
Tem como dar mais uma força? Fiz assim: <?php include "config.php"; function Registros() { $dados = array(); $sql = "SELECT carros, COUNT(*) AS total FROM veiculos GROUP BY carros"; $result = mysql_query($sql) or die (mysql_error()); while($row = mysql_fetch_array($result)) { $dados[] = $row; } return $dados; } ?> <table> <tr> <?php foreach(Registros() as $linha);?> <td> <?php echo $linha['total'];?> </td> <?php endforeach;?> Retornou o seguinte erro:
-
Será que alguém pode me dar uma dica??? Estou inciando em php...
-
Alterando o formato da data/hora a serem comparadas de: Ex: 2011-08-19 00:00:00 para 20110819000000 consegui o resultado que buscava: <? ... $hoje = date("YmdHis"); $hregistro = strtotime ($linha['data_registro']." ".$linha['hora_registro']); $hmais = strtotime("1 hours", $hregistro); $hmais_novo = date("YmdHis",$hmais); if ($hoje >= $hmais_novo) { echo "<td align='center' style='background-color:red;'>".date('H:i', strtotime($linha["hora_registro"]))."</td>"; }else{ echo "<td align='center'>".date('H:i', strtotime($linha["hora_registro"]))."</td>"; } ...?>
-
Eu uso assim: Esse bloco aqui vai no arquivo.js //Confirmação de exclusão function deleta(){ if(confirm("Tem certeza que deseja excluir este cadastro?")){ return true; } else { return false; } }; Adaptando ao seu código ficaria assim: <td><a href=\"editar.php?id=$id\">[Editar]</a> | <a href= \"excluir.php?id=$id\" Onclick='return deleta()'>[Excluir]</a></td>
-
Seguindo sua dica consegui avançar, porém agora estou agarrado na condição, vejam: <?php $datahoraatual = strtotime ($linha['data_inicial']." ".$linha['hora_inicial']); $datahorahmais = strtotime("1 hours", $datahoraatual); ... if (strtotime($datahoraatual) > strtotime($datahoramais)){ echo "<td align='center' style='background-color:red;'>".date('H:i', strtotime($linha["hora_inicial"]))."</td>"; }else{ echo "<td align='center'>".date('H:i', strtotime($linha["hora_inicial"]))."</td>"; } ?> O código acima não está funcionando! Ele sempre está exibindo a célula em vermelho. Estou precisando que após uma consulta o sistema compare a hora atual com a hora em que o registro foi inserido no mysql e se já tiver passado 01 hora ou mais da inclusão do registro mude a cor da célula para vermelho.
-
Ok, obrigado. Mas como já estava com a cabeça "quente" esqueci de dizer que tal variável conterá uma hora no formato H:i:s (00:00:00) vindo de uma pesquisa ao bd mysql. <? $sql = "SELECT hora FROM tabela;" $resultado = mysql_query ($sql); while ($linha = mysql_fetch_array($resultado)){ echo $linha["hora"]; Aqui seria a hora ex: 18:00:00 + 1 hora = 19:00:00 } ?>