Ir para conteúdo
Fórum Script Brasil

Everton_Pabon

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Everton_Pabon

Everton_Pabon's Achievements

0

Reputação

  1. basicamente um relatório gerado por php se resume a você fazer a consulta SQL no banco de dados e depois gerar o relatório HTML através de um While ou Foreach para preencher a tabela html <?php mysql_connect("localhost", "usuario", "senha"); mysql_select_db("nomeDoBanco"); $sql = "SELECT cidade, estado, habitantes FROM cidades"; // exemplo $query = mysql_query($sql); ?> <table> <tr> <td>Cidade</td>Estado<td>Habitantes</td> </tr> <?php while($dados = mysql_fetch_array($query)){ echo "<tr> <td>".$dados['cidade']."</td><td>".$dados['estado']."</td><td>".$dados['habitantes']."</td> </tr>"; } ?> </table> não sei se era isso que você estava na duvida mas espero ter ajudado
  2. Bom dia pessoal. fiz uma função aqui que pega um array e retorna o valor do 1°quartil, mediana e 3°quartil e tambem a média aritmética de acordo com a opção passada procurei d+++ pra ver se não tinha algo já pronto mas não achei nada, se tiver por favor me dê um toque hehe esses calculos são uteis para quem precisa gerar relatórios etc. gostaria que dessem uma olhada pra ver se não daria pra "enxugar" mais o código hehe pois não consegui racionalizar mais que isso, mas de qualquer forma está funcionando o codigo abaixo tem a função e um exemplo já pronto para testar abraço!! <?php /* * * Função para gerar dados estatísticos básicos: * * => Média * => 1°Quartil * => Mediana * => 3°Quartil * * Passar o array e o tipo de cálculo * */ function estatistica($ary,$operacao,$tipo,$formato){ // $operacao // 1 = media // 2 = mediana // 3 = 1° quartil // 4 = 3° quartil // $tipo // 1 = 'auto' = Verifica automaticamento qual opção se encaixa (usar quando não se sabe o numero total de indices da matriz) // 2 = 'normal' = SE o elemento central é 1 elemento (resto da divisao = 1) // 3 = 'duplo' = SE o elemento central são 2 elementos (resto da divisao = 0) // $formato // Opção da quantidade da casas decimais no resultado // Ordena os valores do array sort($ary); // Total de indices do array $arySize = sizeof($ary); // Soma os elementos do array $arySoma = array_sum($ary); // Média aritmética $media = ($arySoma / $arySize); // MEDIANA (elemento central da matriz) // Nesse ponto trabalhamos com as chaves da matriz e não com os valores // Depois de achada a chave central ai sim é retornado o valor para o $resultado switch($tipo){ case 1: // 1 = AUTO(verifica se o numero de indices da matriz é par ou ímpar) if($arySize % 2 == 1){ $central = $arySize / 2; // como entrou aqui é porque é ímpar, divide o numero total / 2 $central = $central - 0.5; // como os indices da matriz só podem ser decimais(inteiros), e o resultado nesse caso será um float, retira-se 0.5 $mediana = $ary[$central]; // passa o valor da matriz contido no indice central } else { $central = $arySize / 2; // nesse caso o total de indices da matriz é par $x1 = $central--; // pega um indice abaixo do indice central $x2 = $central++; // pega um indice acima do indice central $mediana = ($ary[$x1] + $ary[$x2]) / 2; // soma o VALOR contido em cada indice e divide / 2 } break; // Os cálculos abaixo são iguais aos realizados acima porém permitindo a escolha do TIPO que se deseja // 2 = NORMAL(para matrizes com total de indices ímpar) case 2: $central = $arySize / 2; $central = $central - 0.5; $mediana = $ary[$central]; break; // 3 = DUPLO(para matrizes com total de indices par) case 3: $central = $arySize / 2; $x1 = $central--; $x2 = $central++; $mediana = ($ary[$x1] + $ary[$x2]) / 2; break; } // 1° QUARTIL (elemento central está entre o INICIO e o MEIO da matriz) // usa-se o mesmo princípio de cálculo da mediana switch($tipo){ case 1: if($central % 2 == 1){ $q1Central = $central / 2; $q1Central = $q1Central - 0.5; $q1 = $ary[$q1Central]; } else { $q1Central = $central / 2; $x1 = $q1Central--; $x2 = $q1Central++; $q1 = ($ary[$x1] + $ary[$x2]) / 2; } break; case 2: $q1Central = $central / 2; $q1Central = $q1Central - 0.5; $q1 = $ary[$q1Central]; break; case 3: $q1Central = $central / 2; $x1 = $q1Central--; $x2 = $q1Central++; $q1 = ($ary[$x1] + $ary[$x2]) / 2; break; } // 3° QUARTIL (elemento central entre o MEIO e o FINAL da matriz) // usa-se o mesmo princípio de cálculo da mediana switch($tipo){ case 1; if($central % 2 == 1){ $q3Size = $central / 2; $q3Central = $arySize - $q3Size; $q3Central = ($q3Central+1) - 0.5; $q3 = $ary[$q3Central]; } else { $q3Size = $central / 2; $q3Central = $arySize - $q3Size; $x1 = $q3Central--; $x2 = $q3Central++; $q3 = ($ary[$x1] + $ary[$x2]) / 2; } break; case 2: $q3Size = $central / 2; $q3Central = $arySize - $q3Size; $q3Central = ($q3Central+1) - 0.5; $q3 = $ary[$q3Central]; break; case 3: $q3Size = $central / 2; $q3Central = $arySize - $q3Size; $x1 = $q3Central--; $x2 = $q3Central++; $q3 = ($ary[$x1] + $ary[$x2]) / 2; break; } // RESULTADOS // Retorna o resultado de acordo com tipo passado para função switch($operacao){ case 1: $resultado = number_format($media,$formato); break; case 2: $resultado = number_format($mediana,$formato); break; case 3: $resultado = number_format($q1,$formato); break; case 4: $resultado = number_format($q3,$formato); break; } return $resultado; } ?> <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <head> <meta http-equiv='Content-Type' content='text/html; ISO-8859-1' /> <title>Sem Título</title> <style type="text/css"> body{ font-family:Arial; font-size:16px; margin:50px; color:#555; } .colorNum { color:#ff0000; } table td { padding:3px 5px 3px 5px; margin:2px; text-align:center; background:#f1f1f1; } </style> </head> <body> <?php // Arrays $meses = array('Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'); // Exemplos para teste //$ary = array(1.25,0.70,0.95,0.60,1.10,0.85,0.40,0.95,1.15,1.20,0.90,0.75); $ary = array(12,5,8,2,1,3,4,7,10,11,6,9); //$ary = array(652,854,221,983,121,45,785,436,874,965,178,36); ?> <table> <tr> <td style='background:transparent'></td> <?php foreach($meses as $value){ echo "<td>$value</td>"; } ?> <td><b>1° Quartil</b></td> <td><b>Mediana</b></td> <td><b>3° Quartil</b></td> <td><b>Média</b></td> </tr> <tr> <td style='background:#cccc99'><b>Indicador A</b></td> <?php foreach($ary as $value){ echo "<td>$value</td>"; } ?> <td><b><?php echo estatistica($ary,3,2,3);?></b></td> <td><b><?php echo estatistica($ary,2,1,3);?></b></td> <td><b><?php echo estatistica($ary,4,2,3);?></b></td> <td><b><?php echo estatistica($ary,1,1,3);?></b></td> </tr> </table> <h4> <small style='color:#777'>Lista ordenada para cálculo da mediana</small><br /> <?php sort($ary); // Ordena Array (como exemplo, aqui não interfere na função) foreach($ary as $value){ echo "<span style='color:#ccc'>(</span> $value <span style='color:#ccc'>)</span>"; } ?> </h4> </body> </html>
  3. Po valeu mano vo estudar essas dicas que voce passou.. té mais
  4. então pessoal, esse é meu primeiro post aqui, to estudando php faz um mês, nunca programei nada mas to gostando de aprender To postando ai meu primeiro programa, um form de contato e gostaria que vocês dessem uma olhada pra ver se meu codigo ta bom pois quem ta começando ainda não tem as manha de saber se o codigo ta limpo ou não.. tirei como base alguns exemplos da net e tambem de livros e montei o form de acordo com meu gosto, pra estudo mesmo mas ele ta funcionando beleza, quem quiser usar tá aí.. Abraço! formulario.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Formulário de contato</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="enviar.php" method="post"> Seu Nome<br><input type="text" name="nome" size="50"><br> Seu Email<br><input type="text" name="remetente" size="50"><br> Escolha a opção de seu interesse:<br> <select name="departamento" size="1"> <option value="comprar">Comprar</option> <option value="informacoes">Informações sobre Produto</option> <option value="lojista">Lojista</option> <option value="anunciar">Anunciar no Site</option> <option value="outros">Outros</option> </select><br> Assunto<br><input type="text" name="assunto" size="50"><br> Mensagem<br><textarea name="mensagem" rows="5" cols="50"></textarea><br> <input type="submit" value="Enviar"> <input type="reset" value="Apagar"> </form> </body> </html> enviar.php <?php $nome = $_POST["nome"]; $assunto = $_POST["assunto"]; $mensagem = $_POST["mensagem"]; $departamento = $_POST["departamento"]; // lista de opções $remetente = $_POST["remetente"]; $destino = "fulano@site.com"; // Email do seu site aqui // Aqui vai bloquear inserçao de html palos campos do formulario // na verdade não bloqueia, apenas trasnforma em texto :) $nome_ok = htmlspecialchars($nome); $assunto_ok = htmlspecialchars($assunto); $mensagem_ok = htmlspecialchars($mensagem); $remetente_ok = htmlspecialchars($remetente); // cabeçalho do email $headers = "From: $nome_ok - $departamento - <$remetente_ok>\r\n"; $headers .= "Content-Type: text/html\n"; $headers .= "MIME-Version: 1.0\n"; // organizaçao da mensagem no email $msg = "Email enviado através do site:<br><br>"; $msg .= "<strong>Nome:</strong><br>$nome_ok<br>"; $msg .= "<strong>Email:</strong><br>$remetente_ok<br>"; $msg .= "<strong>Departamento:</strong><br>$departamento<br>"; $msg .= "<strong>Assunto:</strong><br>$assunto_ok<br>"; $msg .= "<strong>Mensagem:</strong><br>$mensagem_ok"; // aqui vai verificar se algum campo do formulario está em branco, // retornando uma mensagem de erro if(empty($nome_ok)) { echo "&lt;script type='text/javascript'> alert ('Você deve preencher seu Nome!');history.back(); </script>"; exit; } if(empty($remetente_ok) or strstr($remetente_ok, '@')==FALSE) // se não colocar arroba(@) ou deixar em branco da erro { echo "&lt;script type='text/javascript'> alert ('Você deve preencher seu Email corretamente!');history.back(); </script>"; exit; } if(empty($assunto_ok)) { echo "&lt;script type='text/javascript'> alert ('Você deve preencher o campo Assunto!');history.back(); </script>"; exit; } if(empty($mensagem_ok)) { echo "&lt;script type='text/javascript'> alert ('Você deve digitar uma Mensagem!');history.back(); </script>"; exit; } // aqui envia o email mail($destino, $assunto_ok, $msg, $headers); { echo "&lt;script type='text/javascript'> alert ('Obrigado por entrar em contato!'); </script>"; echo "&lt;script>location.href='../'</script>"; // nesta linha manda voce para a pagina inicial do site (pode alterar) } ?>
×
×
  • Criar Novo...