Ir para conteúdo
Fórum Script Brasil

WSoares9

Membros
  • Total de itens

    10
  • Registro em

  • Última visita

Tudo que WSoares9 postou

  1. Olá pessoal, Quebrei a cabeça, mas, resolvi o problema. Realmente o código estava meio confuso, com algumas coisas desnecessárias. Fui pro papel, reescrevi o código, deixando-o mais limpo. Porém, só hoje é q vim descobrir o maior dos problemas (não o único, mas, o principal).... Troquei o metod "post" para "get" e ele funcionou maravilhosamente bem. A quem interessar possa, segue o novo código (agora funcionando), rsrs. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Comentários</title> <link href="estilo.css" rel="stylesheet" type="text/css" /> </head> <body> <h4 align="left">Comentários</h4> <?php // Conecta ao servidor e seleciona o banco de dados include("msqlconfig.inc"); $reg_por_pag = 1; // Define a qtd. de Registros por página // Usuário digita o número do comentário a ser exibido echo" <form action='exibe_comentario.php' method='get'> <table width='298' height='20' border='0' align='left'> <tr> <td><p align='left'>Digite o nº da página: <input name='pag' type='text' size='4' /></p></td> <td><input type='submit' value='OK' align='left' /></td> </tr> </table> </form> </br></br>"; // Pegar pela o nº da página digitada pelo usuário 'pag' $pag_atual = intval($_GET['pag']); // captura a quantidade de registros na tabela $ultimo_reg = mysql_num_rows(mysql_query("select * from comentarios")); // Conhecendo o total de páginas existentes $total_paginas = $ultimo_reg; // Se a variável $pag_atual não contiver nenhum valor, será atribuido a ela o valor do ultumo registro na tabela if (!$pag_atual) { $pag_atual = intval($ultimo_reg); } // Calcular o 1º registro DE CADA PÁGINA // Exemplo1: (1 * 1) - 1 = 0 // Exemplo2: (2 * 1) - 1 = 1 $inicio_da_pag = ($pag_atual * $reg_por_pag) - $reg_por_pag; // Lê na tabela "comentarios" o registro a ser mostrado $query = "select * from comentarios where Codigo = '$pag_atual'"; $res = mysql_query($query) or die("Pesquisa não realizada"); //calcula o valor de 'pag' a ser passado para a url. if ($pag_atual>1) { $anterior='<a href="exibe_comentario.php?pag='.($pag_atual-1).'"> Anterior</a>'; } else { $anterior="Anterior"; } if ($total_paginas>$pag_atual) { $proximo='<a href="exibe_comentario.php?pag='.($pag_atual+1).'"> Próximo</a>'; } else { $proximo="Próximo"; } echo "<div id='mostra_comentario'>"; // Exibe os Links para resgistros "ANTERIOR" e "PRÓXIMO" echo " <table width='270' heigth='20' border='0'> <tr> <td><div id='reg_anterior'>$anterior</div></td> <td><div id='reg_proximo'>$proximo</div></td> </tr> </table>"; //Exibe os dados do registro while($mostra = mysql_fetch_array($res)) { // Converte a DATA para o formato Brasileiro $data = $mostra['data']; //origem: aaaa-mm-dd 00:00:00 $novadata = substr($data,8,2)."/".substr($data,5,2)."/".substr($data,0,4); echo " <table width='270' height='120' border='1' align='left'> <tr> <td>Usuário: ".$mostra['Nome']."</td> </tr> <tr> <td>E-mail: ".$mostra['email']."</td> </tr> <tr> <td>Data: ".$novadata."</td> </tr> <tr> <td>Comentário: ".utf8_encode($mostra['comentario'])."</td> </tr> </table>"; echo "</div>"; } ?> </body> </html> Obrigado a todos pela atenção e ajuda. Podem dar o tópico como RESOLVIDO
  2. Me diz exatamente o q você espera desse calculo; Exemplo: Se $a de 1 a 100, quais os primeiros e últimos valores da lista? Se $a de 101 a 1000, quais os primeiros e últimos valores da lista? Vai ficar mais fácil de te ajudar
  3. Já tentou algo assim? $data = "2/6/2011'; $novadata = substr($data,4,4)."-0".substr($data,2,1)."-0".substr($data,0,1);
  4. Tente dessa forma. Testei aqui e deu certo. Espero ter ajudado echo "<select>"; //$a = 2781; $a = 21; if($a <= 100) { $b = 10; } elseif($a > 100 && $a<=1000) { $b = 100; } elseif($a > 1000 && $a<=10000){ $b = 1000; } elseif($a > 10000 && $a<=100000) { $b = 10000; } for($i = 1; $i <= ceil($a/$b); $i++){ $x = $i * $b -9; $y = $i * $b; echo "<option value=\"$i\">$x , $y</option>"; } echo "</select>";
  5. Caro amigo, Me desculpe a ignorância, mas, eu estou engatinhando em php e o Seu código me deixou um pouco mais confuso. Se você puder documentá-lo ficaria mais fácil de eu entender e adaptá-lo 'a minha necessidade. Se alguém puder dar mais alguma ajuda ficarei muitíssimo grato. Meu objetivo é mostrar um comentário por página (a partir do último, q é o mais recente). Se o usuário desejar, ele pode digitar um número de página a ser mostrada. Desde já agradeço a atenção. Um abraço
  6. Olá rickayron, Obrigado por sua atenção. Quanto ao q você não entendeu (eu deveria ter explicado antes)... if (!$pag_atual) { $pag_atual = $ultimo_reg; } o porque voce manda a variavel pag_atual igualar ao ultimo registro, assim so irá mostrar o ultimo registro. É q na verdade a exibição dos comentários é feita a partir do último registro (que é o mais recente). Vou tentar adaptar o seu código a minha necessidade, mas, se puderes dar alguma dica pra melhorar o meu código e fazer com que ele funcione, vou ficar muito grato. Valeu Abraço
  7. Olá pessoal, Preciso de uma ajuda: Estou tentando exibir dados da minha tabela só q eu preciso que seja exibido apenas um registro por página ou a página que o usuário solicitar. Já até encontrei exemplos de paginação, mas, nada q faça referência a essa modalidade. Sei q o problema deve ser simples, mas, já não estou mais conseguindo enxergar o óbvio. No meu código está acontecendo o seguinte: tenho 4 registros na tabela; se eu digito um numero o registro é mostrado numa boa, porém se eu clico em "Anterior" ou "próximo" na url mostra 'pag'com valor correto, mas na tela sou enviado p/ o 1º registro. Se alguém puder ajudar agradeço muitíssimo. Segue abaixo o código para análise. Nome da tabela: comentarios Codigo: int(10) autoIncrement Nome: varchar(60) email: varchar(60) data: datetime comentario: text exibe_comentario.php <html> <head> <title>Comentários</title> <link href="estilo.css" rel="stylesheet" type="text/css" /> </head> <body> <h4 align="left">Comentários</h4> <?php // Conecta ao servidor e seleciona o banco de dados include("msqlconfig.inc"); $reg_por_pag = 1; // Define a qtd. de Registros por página // Usuário digita o número do comentário a ser exibido echo" <form action='exibe_comentario.php' method='post'> <table width='298' height='20' border='0' align='left'> <tr> <td><p align='left'>Digite o nº da página: <input name='pag' type='text' size='4' /></p></td> <td><input type='submit' value='OK' align='left' /></td> </tr> </table> </form> </br></br>"; // Pegar o nº da página digitada pelo usuário 'pag' $pag_atual = intval($_POST['pag']); // captura a quantidade de registros na tabela $ultimo_reg = mysql_num_rows(mysql_query("select * from comentarios")); echo '$ultimo_reg= '.$ultimo_reg; // até aqui todo OK // Se a variável $pag_atual não contiver nenhum valor, // será atribuido a ela o valor do ultumo registro na tabela if (!$pag_atual) { $pag_atual = $ultimo_reg; } // Calcular o 1º registro DE CADA PÁGINA // Exemplo1: (1 * 1) - 1 = 0 // Exemplo2: (2 * 1) - 1 = 1 $inicio_da_pag = ($pag_atual * $reg_por_pag) - $reg_por_pag; // Lê na tabela "comentarios" o registro a ser mostrado // LIMIT 'reg. inicial , qtd de reg.' if (!$_POST['pag']){ // caso o usuário não tenha digitado nada $query = "select * from comentarios order by Codigo desc LIMIT $inicio_da_pag, $reg_por_pag"; } else { // caso o usuário tenha digitado um nº de página $query = "select * from comentarios where Codigo = '$_POST[pag]'"; } $res = mysql_query($query) or die("Pesquisa não realizada"); // Seleciona um campo da tabela 'comentarios', // só pra saber a qtd. de registros existentes $consulta = mysql_query("SELECT nome FROM comentarios"); // Captura o número de registros lidos $total_registros = mysql_num_rows($consulta); // Conhecendo o total de páginas existentes // Como a intenção é mostrar 1 reg. por página, // logo, não há necessidade de cálculo, nem arredondamento (ceil) //$total_paginas = ceil ($total_registros/$reg_por_pag); $total_paginas = $total_registros; //calcula o valor de 'pag' a ser passado para a url. if ($pag_atual>1) { $anterior=<a href="exibe_comentario.php?pag='.($pag_atual-1).'"> Anterior</a>'; } else { $anterior="Anterior"; } if ($total_paginas>$pag_atual) { $proximo='<a href="exibe_comentario.php?pag='.($pag_atual+1).'"> Próximo</a>'; } else { $proximo="Próximo"; } if ($pag_atual>=$total_paginas) { $proximo="Próximo"; } echo "<div id='mostra_comentario'>"; // Exibe os Links para resgistros "ANTERIOR" e "PRÓXIMO" echo " <table width='270' heigth='20' border='0'> <tr> <td><div id='reg_anterior'>$anterior</div></td> <td><div id='reg_proximo'>$proximo</div></td> </tr> </table>"; while($mostra = mysql_fetch_array($res)) { // Converte a DATA para o formato Brasileiro $data = $mostra['data]; //origem: aaaa-mm-dd 00:00:00 $novadata = substr($data,8,2)."/".substr($data,5,2)."/".substr($data,0,4); echo " <table width='270' height='120' border='1' align='left'> <tr> <td>Usuário: ".$mostra['Nome']."</td> </tr> <tr> <td>E-mail: ".$mostra['email']."</td> </tr> <tr> <td>Data: ".$novadata."</td> </tr> <tr> <td>Comentário: ".$mostra['comentario']."</td> </tr> </table>"; echo "</div>"; } ?> </body> </html>
  8. Olá pessoal, Consegui resolver o problema da data. Quebrei a cabeça com uma coisa tão simples (aprender sozinho é barra mesmo). A quem interessar possa ai vai a solução: No script "cadastrar.php", ao invés disso: $data = date('d-m-y'); . . . . $inserir = "INSERT INTO comentarios (Codigo,Nome,email,data,comentario) VALUES('','$nome','$email','$data','$coment')"; troquei por isso: $inserir = "INSERT INTO comentarios (Codigo,Nome,email,data,comentario) VALUES('','$nome','$email',now(),'$coment')"; sem precisar da variável "$data" De qualquer forma, obrigado pela atenção
  9. Olá pessoal ! Quero antes me desculpar pela minha ignorância. Na verdade os dados estavam sendo gravados sim. O problema é q eu tinha duas tabelas "comentario" em pastas diferentes e eu estava verificando na tabela errada. Mas agora eu percebi um probleminha (de verdade, rsrsrs). A data está sendo gravada dessa forma "0000-00-00 00:00:00". Já tentei colocar assim: $data = date('d/m/Y', strtotime("now")); mas não adiantou. Como eu posso resolver isso? Desde já agradeço a ajuda.
  10. Olá pessoal, gostaria de uma grande ajuda dos feras desse forum. Seguinte: Sou iniciante em php e mysql, instalei na minha maquina o XAMPP e sei q tudo está funcionando perfeitamente, pois, através do browser eu acesso o localhost" e o "PhpMyAdmim" e até já criei alguns bancos e tabelas. Acontece que quando executo o script "cadastrar.php" as informações não são gravadas na tabela. Segue abaixo os códigos para análise. Desde já agradeço a atenção de todos. Nome da tabela: "comentarios" Campos: Codigo: int(10) autoIncrement Nome: varchar(60) email: varchar(60) data: datetime comentario: text **** cadastrar.html ***** <html> <head> <title>Cadastrar comentários</title> <link href="estilo.css" rel="stylesheet" type="text/css" /> </head> <body> <form id="form1" name="form_cadastro" method="post" action="cadastrar.php"> <h4 id="form1 h4" align="center">Comentários</h4> <p align="left">Seu nome: <input name="Nome" type="text" size="55" /></p> <p align="left">Seu E_mail: <input name="email" type="text" size="50" /></p> <p align="left">Comentário: <textarea name="comentario" rows="4" cols="40"> </textarea></p> <br /> <input type="submit" value="E n v i a r" align="left" /> <input align="right" type="reset" value="L i m p a r" /> </form> </body> </html> **** cadastrar.php **** <?php //Captura as informações enviadas pelo formulário $nome = $_POST['Nome']; $email = $_POST['email']; $data = date("d-m-Y"); $coment = $_POST['comentario']; //Conecta ao Banco de Dados include("msqlconfig.inc"); // Inserir os dados na tabela "comentarios" $inserir = "INSERT INTO comentarios (Codigo,Nome,email,data,comentario) VALUES('','$nome','$email','$data','$coment')"; mysql_query($inserir); // Aqui os dados são mostrados na tela (só pra teste). print $inserir; //Grava as informações //Contar o numero de Colunas afetas. Se for 1, a gravação foi efetuada $num_linha = mysql_affected_rows(); // Aqui é mostrado na tela o nº 1 print $num_linha; if($num_linha == 1){ // Aqui a mensagem é mostrada corretamente echo "Cadastro efetuado com sucesso<br>"; // Link para a página anterior (também está sendo mostrado) echo "<a href='java script:history.back()'>Voltar</a>"; } //Fecha a conexão. Aqui estava apresentando erro, não sei por quê //mysql_close($banco); ?> **** msqlconfig.inc **** <?php //Mensagens de ERRO $msg[0] = 'Falha na conexão com o Servidor SQL !'; $msg[1] = 'Não foi possível selecionar o Banco de dados !'; // Variáveis de conexão $servidor = "localhost"; // Servidor Xampp $usuario = "root"; // Usuário do MySql $senha = "******"; //Senha do Usuário MySql $banco = "teste"; // Localização/Nome do Banco de Dados //Fazendo a conexão com o servidor MySql $conecta = mysql_connect($servidor,$usuario,$senha) or die ($msg[0]); //conecta ao servidor mysql_select_db($banco) or die ($msg[1]);// conecta ao Banco de dados ?>
×
×
  • Criar Novo...