常量更新php查询

时间:2014-05-07 08:42:01

标签: php html mysql database sql-update

我需要每隔一秒左右更新一个消息框,我真的不知道该做什么,我也做了大部分编码与我在网上找到的不同,继承我的代码

<?php
//first connect to the database
require_once('includes/connect.php');
$sql = "SELECT * FROM `MetalM` WHERE `class` LIKE :msg";
$paragraph = $pdo->prepare($sql);
$paragraph->bindValue(':msg','Message',PDO::PARAM_STR);
$paragraph->execute();
?>

这是我的连接代码

<?php
try
{
$pdo = new PDO('mysql:host=localhost;dbname=DATABASE', 'USER', 
'PASSWORD');
}
catch (PDOException $e)
{
echo 'Unable to connect to the database server.';
exit;
}
?>

这是我的邮件加载位置的代码

<div id="mesgBox">
<?php
foreach ($paragraph as $key) {
echo '<div id="messages"><p>'.$key['Name'].': <br>'.$key['Message'].'</p></div>';


}            
?>
</div>
<div id="sndmsg">
<h1>Message:</h1>
<form action="insert.php" method="GET">
<input id="meassage" name="meassage" type="text" placeholder="Text Here">
<input id="submit" type="submit" value="Send">
</form>
<br>
</form>
</div>

1 个答案:

答案 0 :(得分:0)

您需要使用Ajax执行此操作。

您需要设置一个定时器,每隔x秒检索一次新数据

例如:

要求:jQuery

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
setInterval(function(){
   $.post ('/get-update.php', function(data,success) 
   {
      if (success=='success')
         if (data.status=='ok')
             $('#messages').html(data.Messages);
   },'json');
},5000);
</script>

现在,你必须稍微更改你的php才能使这项工作。

- 编辑 -

好的,让我改进..

你需要在头脑中包含jquery lib

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

然后你将需要一个php文件,它完全符合你的需要....(带来新消息)

如:

<?php
// file name: get-update.php
// Just this code here.
require_once('includes/connect.php');
$sql = "SELECT * FROM `MetalM` WHERE `class` LIKE :msg";
$paragraph = $pdo->prepare($sql);
$paragraph->bindValue(':msg','Message',PDO::PARAM_STR);
$paragraph->execute();


$TextBuffer ="";
$StringFormat = "<div id='messages'><p>%s : <br>%s</p></div>";
while ($row = $paragraph->fetch(PDO::FETCH_ASSOC))
  $TextBuffer .= sprintf($StringFormat, $row['Name'],$row['Messagge']);

echo json_encode(array("status"=>"ok","Messages"=>$TextBuffer));

?>