lsteffler 0 Denunciar post Postado Abril 15, 2008 Boa Noite! Fiz varias pesquisas no fórum e cheguei a este codigo: mysql_query("SELECT * FROM aniversariantes WHERE Month(data) = '" . $_REQUEST['data']."'") or die(mysql_error()); ele exibe os aniversariantes do mes, mas apresenta junto este erro: Notice: Undefined index: data in /hsphere/local/home/escola4dej/escola4dejulho.com.br/principal.php on line 96 Codigo Completo: <?php include 'conexao.php'; $query[] = mysql_query("SELECT * FROM aniversariantes WHERE Month(data) = '" . $_REQUEST['data']."'") or die(mysql_error()); $numRegs = mysql_num_rows($query[0]); if ($numRegs % 2 != 0) { $numRegs++; } $regPerRow = $numRegs / 2; $divClass = 1; $counter = 1; while ($data = mysql_fetch_array($query[0])) { if ($counter == 1) // se estamos no começo... { print ('<div id="col1">'); // inicie a primeira div } print ($data['nome'].'<br>'); // mostre o registro if ($counter == $regPerRow) // se estamos na metade { print ('</div><div id="col2">'); // feche a div e inicie outra } elseif ($counter == $numRegs) // se estamos no fim { print ('</div>'); // feche a div } $counter++; } ?> Se alguem puder me auxiliar, muitíssimo obrigado! ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 15, 2008 teste da seguinte maneira: mysql_query("SELECT * FROM aniversariantes WHERE Month(data) = Month('{$_REQUEST["data"]}') ") or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 15, 2008 Leandro... Deu mesmo erro e nao apareceu nenhum resultado. Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 15, 2008 veja se você está recebendo a variável $_REQUEST["data"] corretamente, imprima-a na tela e confira... isso significa q você tem q enviar data, por get atraves da query string, ou por post , em um form Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 15, 2008 bom... eu nao entendo muito disso ... eu preciso que exiba apenas os nomes dos aniversariantes do mes atual.... no cadastro destes aniversariantes é feito atraves de um form post... e nessa consulta tem o código completo lá em cima... Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 15, 2008 então, qdo você manda por form via post, você deve receber assim: $_POST["data"] (supondo que data, seja o name do input do form) acima da linha include 'conexao.php'; faça o seguinte: echo "Data que está recebendo: {$_POST["data"]} "; ai, você saberá exatamente se o código está recebendo o valor certo, ou se num ta recebendo nada Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 15, 2008 Mas tipo... se eu colocar acima da linha include nao vai aparecer nada nao acha? pois nao ta definido a conexao nem a tabela de consulta... pq este formulario se encontra em outra pagina, e é enviado ao banco de dados... acho q eu nao estou entendendo direito. :S Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 16, 2008 exatamente, você não precisa estar conectado no banco para exibir uma variável global GET ou POST... você precisa conferir se está recebendo corretamente essa variável... aconselho você dar uma estudada melhor em alguns conceitos de html, get e post... recomendo o google para tal estudo. Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 16, 2008 hum... bom... eu coloquei conforme você me passou e o resultado foi um erro um pouquinho maior: Notice: Undefined index: data in /hsphere/local/home/escola4dej/escola4dejulho.com.br/principal.php on line 95 Data que está recebendo: Notice: Undefined index: data in /hsphere/local/home/escola4dej/escola4dejulho.com.br/principal.php on line 97 tipo... o consulta funcionava perfeitamente antes, claro, exibindo todos os aniversariantes, aí busquei por esta consulta de apenas os do mes atual e entao surgiu este erro... Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 16, 2008 hmmm agora me caiu a ficha, Notice: undefined index, significa q não você não enviou seja através de post ou get nenhum parâmetro com o nome data... você está enviando essa data através de um formulário ? manda ele para darmos uma olhadinha... Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 16, 2008 cadastro_niver.php <form id='form1' name='form1' method='post' action='salvar_niver.php'> <h3 align='center'>Cadastro de Aniversariantes</h3> <table border='1' align='center'> <tr> <td>Nome</td> <td><input name='nome' type='text' id='nome' /></td> </tr> <tr> <td>Data de Nascimento</td> <td><input name='data' type='text' id='data' /></td> </tr> <tr> <td> </td> <td><input type='submit' name='Submit' value='Gravar' style='cursor:pointer'/></td> </tr> </table> </form> salvar_niver.php <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); $nome = $_POST["nome"]; $data = $_POST["data"]; $data = implode("-", array_reverse(explode("/", $data))); mysql_connect("mysql04.tecla.com.br", "escola4_julho", "4djulho"); mysql_select_db("escola4_banco"); mysql_query("INSERT INTO aniversariantes ( id , nome , data ) VALUES ( NULL , '$nome', '$data')"); mysql_close(); echo "<script>alert('Salvo com sucesso !')</script> \n <script>window.location=('cadastro_niver.php')</script>"; ?> conexao.php <? $host = 'xxxxxxxx'; $usuario = 'xxxxxxxxxx'; $senha = 'xxxxxxxxx'; $banco = 'xxxxxxxx'; $conecta = mysql_connect ($host,$usuario,$senha) or die ('Nao foi possível conectar-se ao servidor'); mysql_select_db($banco,$conecta) or die ('Nao foi possível selecionar o banco'); ?> principal.php (onde deve aparecer a lista de aniversariantes do mês) <div id="aniversarios"> <p class="titulo">Aniversariantes do Mes:</p> <br /> <?php echo "Data que está recebendo: {$_POST["data"]} "; include 'conexao.php'; $query[] = mysql_query("SELECT * FROM aniversariantes WHERE Month(data) = '".$_REQUEST['data']."'") or die(mysql_error()); $numRegs = mysql_num_rows($query[0]); if ($numRegs % 2 != 0) { $numRegs++; } $regPerRow = $numRegs / 2; $divClass = 1; $counter = 1; while ($nome = mysql_fetch_array($query[0])) { if ($counter == 1) // se estamos no começo... { print ('<div id="col1">'); // inicie a primeira div } print ($nome['nome'].'<br>'); // mostre o registro if ($counter == $regPerRow) // se estamos na metade { print ('</div><div id="col2">'); // feche a div e inicie outra } elseif ($counter == $numRegs) // se estamos no fim { print ('</div>'); // feche a div } $counter++; } ?> </div> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 16, 2008 Vou te passar um script , ai você adapta as suas necessidades ai ;) Criando a table: é bom melhorar esse sql eim, fiz apenas como um exemplo, não está no modo totalmente correto, pode ser simplificado. CREATE TABLE `cadastro` ( `id_cad` int(5) unsigned zerofill NOT NULL auto_increment, `nome` char(120) NOT NULL, `e-mail` char(120) NOT NULL, `dia` int(2) NOT NULL, `mes` int(2) NOT NULL, `ano` int(4) NOT NULL, PRIMARY KEY (`id_cad`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; Conexão com a base de dados:con.php <?php $hostname_lol = "127.0.0.1"; $database_lol = "BASE"; $username_lol = "USUARIO"; $password_lol = "SENHA"; $lol = mysql_pconnect($hostname_lol, $username_lol, $password_lol) or trigger_error(mysql_error(),E_USER_ERROR); ?> Mostrando os aniversariantes do dia: <?php require_once('con.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $varDia_rsNiver = date("d"); if (isset($varDia)) { $varDia_rsNiver = $varDia; } $varMes_rsNiver = date("m"); if (isset($varMes_rsNiver)) { $varMes_rsNiver = $varMes_rsNiver; } mysql_select_db($database_lol, $lol); $query_rsNiver = "SELECT * FROM cadastro WHERE cadastro.dia='$varDia_rsNiver' AND cadastro.mes='$varMes_rsNiver'"; $rsNiver = mysql_query($query_rsNiver, $lol) or die(mysql_error()); $row_rsNiver = mysql_fetch_assoc($rsNiver); $totalRows_rsNiver = mysql_num_rows($rsNiver); ?><table width="489" border="1"> <tr> <td width="209">Nome</td> <td width="229">Data</td> </tr> <?php do { ?> <tr> <td><?php echo $row_rsNiver['nome']; ?></td> <td><?php echo $row_rsNiver['dia']."/"; ?><?php echo $row_rsNiver['mes']."/"; ?><?php echo $row_rsNiver['ano']; ?></td> </tr> <?php } while ($row_rsNiver = mysql_fetch_assoc($rsNiver)); ?> </table> <?php mysql_free_result($rsNiver); ?> Abração. Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 16, 2008 então, de acordo com o que você enviou, lstfeller, o arquivo, principal.php , é o que vai exibir os aniversariantes do mes, porém, você não está enviando para esse arquivo, qual mês q deseja exibir os aniversariantes... você deve enviar através do método get, com a variável data, o mês que deseja exibir... exemplo, meusite.com.br/principal.php?data=12 no caso data, o nome da variável do mês, e 12 é o mês a ser exibido,. Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 16, 2008 hum.... O que eu gostaria é que fosse automatico essa troca... de acordo com o mês vigente, entende. e no local onde encontrei este código era exatamente disso q se tratava. mas, conforme você me cita está faltando esta parte entao... Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 16, 2008 ah tah, "suspeitei desde o principio.... não priemos cânico..." hueahueahuehuea simples, nessa linha: $query[] = mysql_query("SELECT * FROM aniversariantes WHERE Month(data) = '".$_REQUEST['data']."'") or die(mysql_error()); faça o seguinte $mes_atual = date("m"); $query[] = mysql_query("SELECT * FROM aniversariantes WHERE Month(data) = '$mes_atual' ") or die(mysql_error()); é isso ae Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 16, 2008 Deu certo kra http://forum.imasters.com.br/public/style_emoticons/default/grin.gif porém... :unsure: Descobri 1 errinho do meu código... Ele bagunça todo o layout se os resultados exibidos forem em numero impar . Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nunes 0 Denunciar post Postado Abril 16, 2008 eh, dentro desse seu while, você realmente colocou umas condições meio malucas... não poderei ver agora, mas a noite dou uma olhada pra ti... Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 16, 2008 Moderadores: ESTA QUESTAO ESTA RESOLVIDA! beleza Leandro! Vou abrir outro tópico pois a questão é diferente agora. Brigadão pela ajuda qto a data! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites