castilho Postado Dezembro 31, 2011 Denunciar Share Postado Dezembro 31, 2011 oláestou com um problema com um campo de comentáriosquando eu ordeno a exibição deles pela data e hora assim:"SELECT * FROM comentarios ORDER BY data, hora desc";o primeiro comentário só aparece quando o segundo é realizado, e assim continua com o terceiro e em dianteaqui estão os dadostabela:ID INT( 3 ) NOT NULL PRIMARY KEY AUTO_INCREMENT ,Data VARCHAR( 10 ) NOT NULL Hora VARCHAR( 10 ) NOT NULL Nome VARCHAR( 30 ) NOT NULL Email VARCHAR( 80 ) NOT NULL Cometarios` TEXT NOT NULL e o script que pega os dados$Nome = $_POST ["Nome"];$Email = $_POST ["Email"];$Comentarios = $_POST ["Comentario"];if (($Nome == '')||($Email == '')||($Comentarios == '')) { echo "<script language=javascript'>alert('Preencha com todos os dados!');history.go(-1);</script>";}else {$dia = date("d");$mes = date("m");$ano = date("Y");$hora = date("H");$minutos = date("i");require("conectar.php");$Nome = $_POST ["Nome];$Email = $_POST ["Email"];$Comentarios = $_POST ["Comentario"];$consulta = "INSERT INTO comentarios(data, hora, nome, email, comentarios) VALUES('$dia/$mes/$ano', '$hora hs $minutos min', '$Nome', '$Email', '$Comentarios')";$resultado = mysql_query($consulta)or die("Falha na execução da consulta");echo "Dados adicionados com sucesso";echo "<br><br><font face=Verdana' size='1'><center>comentario enviado com sucesso<br><br><br><br>[ <a href='comentarios.php'>ver comentario</a> ]</center></font>"; e o que exibe os dadosrequire ("conectar.php");$consulta = "SELECT * FROM comentarios ORDER BY data, hora DESC";$resultado = mysql_query($consulta)or die ("Falha na execução da consulta");$linha = mysql_fetch_assoc($resultado)or die("Nenhum comentario foi feito");while ($linha = mysql_fetch_assoc($resultado)){$Data = $linha["data];$hora = $linha["hora"];$Nome = $linha["nome"];$Comentario = $linha["comentarios"]; echo "<div id='container'>"; echo "<div id='topo'></div>"; echo "<div id='center'>"; echo "<div id='content'>"; echo "<p> <div class='hora'>$hora</div><div class='dia'>$Data</div><br /><b>Nome:</b>$Nome <br/><b>Mensagem:<br /></b>$Comentario <br /><br /><br />"; echo "</div>"; echo"</div>"; echo "<div id='bottom'></div>"; echo "</div>";} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Dezembro 31, 2011 Denunciar Share Postado Dezembro 31, 2011 Você deve remover aquele:$linha = mysql_fetch_assoc($resultado) or die("Nenhum comentario foi feito"); Ou seja, ficaria: require ("conectar.php"); $consulta = "SELECT * FROM comentarios ORDER BY data, hora DESC"; $resultado = mysql_query($consulta) or die ("Falha na execução da consulta"); while ($linha = mysql_fetch_assoc($resultado)) { $Data = $linha["data"]; $hora = $linha["hora"]; $Nome = $linha["nome"]; $Comentario = $linha["comentarios"]; echo "<div id='container'>"; echo "<div id='topo'></div>"; echo "<div id='center'>"; echo "<div id='content'>"; echo "<p> <div class='hora'>$hora</div><div class='dia'>$Data</div><br /><b>Nome:</b>$Nome <br/><b>Mensagem:<br /></b>$Comentario <br /><br /><br />"; echo "</div>"; echo"</div>"; echo "<div id='bottom'></div>"; echo "</div>"; }Se quiser testar se algum comentário foi feito, use um if com mysql_num_rows(). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 castilho Postado Dezembro 31, 2011 Autor Denunciar Share Postado Dezembro 31, 2011 muito obrigado amigome ajudou muito Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
castilho
olá
estou com um problema com um campo de comentários
quando eu ordeno a exibição deles pela data e hora assim:
"SELECT * FROM comentarios ORDER BY data, hora desc";
o primeiro comentário só aparece quando o segundo é realizado, e assim continua com o terceiro e em diante
aqui estão os dados
tabela:
ID INT( 3 ) NOT NULL PRIMARY KEY AUTO_INCREMENT ,
Data VARCHAR( 10 ) NOT NULL
Hora VARCHAR( 10 ) NOT NULL
Nome VARCHAR( 30 ) NOT NULL
Email VARCHAR( 80 ) NOT NULL
Cometarios` TEXT NOT NULL
e o script que pega os dados
$Nome = $_POST ["Nome"];
$Email = $_POST ["Email"];
$Comentarios = $_POST ["Comentario"];
if (($Nome == '')||($Email == '')||($Comentarios == '')) {
echo "<script language=javascript'>alert('Preencha com todos os dados!');history.go(-1);</script>";
}
else {
$dia = date("d");
$mes = date("m");
$ano = date("Y");
$hora = date("H");
$minutos = date("i");
require("conectar.php");
$Nome = $_POST ["Nome];
$Email = $_POST ["Email"];
$Comentarios = $_POST ["Comentario"];
$consulta = "INSERT INTO comentarios(data, hora, nome, email, comentarios) VALUES('$dia/$mes/$ano', '$hora hs $minutos min', '$Nome', '$Email', '$Comentarios')";
$resultado = mysql_query($consulta)
or die("Falha na execução da consulta");
echo "Dados adicionados com sucesso";
echo "<br><br><font face=Verdana' size='1'><center>comentario enviado com sucesso<br><br><br><br>[ <a href='comentarios.php'>ver comentario</a> ]</center></font>";
e o que exibe os dados
require ("conectar.php");
$consulta = "SELECT * FROM comentarios ORDER BY data, hora DESC";
$resultado = mysql_query($consulta)
or die ("Falha na execução da consulta");
$linha = mysql_fetch_assoc($resultado)
or die("Nenhum comentario foi feito");
while ($linha = mysql_fetch_assoc($resultado))
{
$Data = $linha["data];
$hora = $linha["hora"];
$Nome = $linha["nome"];
$Comentario = $linha["comentarios"];
echo "<div id='container'>";
echo "<div id='topo'></div>";
echo "<div id='center'>";
echo "<div id='content'>";
echo "<p> <div class='hora'>$hora</div><div class='dia'>$Data</div><br /><b>Nome:</b>$Nome <br/><b>Mensagem:<br /></b>$Comentario <br /><br /><br />";
echo "</div>";
echo"</div>";
echo "<div id='bottom'></div>";
echo "</div>";
}
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.