castilho Posted December 31, 2011 Report Share Posted December 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>";} Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted December 31, 2011 Report Share Posted December 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(). Quote Link to comment Share on other sites More sharing options...
0 castilho Posted December 31, 2011 Author Report Share Posted December 31, 2011 muito obrigado amigome ajudou muito Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.