我最近开始为某些人开发网站,我似乎无法让它正常工作。我的问题是我不知道如何刷新我的shoutbox div。如果你能帮助我,我会很高兴。
<div id="chatbox">
<div class="chatboxi">
<?php
$connection = mysql_connect('LocalDB', 'DB', 'Pass');
mysql_select_db('DBO');
$query = "SELECT * FROM (SELECT * FROM shoutbox ORDER BY id DESC LIMIT 15) sub ORDER BY id Desc"; // Sorts them and takes the 10 first by ID.
$result = mysql_query($query);
echo "<table>"; // start a table tag in the HTML
while($row = mysql_fetch_array($result)){ //Creates a loop to loop through results
echo "<tr><td>" . $row['name'] . "</td><td>:" . $row['post'] . "</td></tr>"; //$row['index'] the index here is a field name
}
?>
</div>
</div>
</form>
<form method="POST" name="chatbarf">
<textarea cols="2" rows="3" id="chatbar" name="chatbar">
</textarea>
<input type="submit" value="Send" id="Send" name="Send" onsubmit="">
</form>
我一直在尝试使用此代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script>
var auto_refresh = setInterval(
function()
{
$('#chatbox').fadeOut('slow').load('chat.php').fadeIn("slow");
}, 20000);
</script>
它没有很好地工作。它刷新了整个页面,使所有内容都翻了一倍。
答案 0 :(得分:0)
这是你的起点。
SQL到SQLI&amp; jQuery DOM Ready:
我已按照我的推荐将SQL从SQL更新为SQLI,但我仍然建议您研究SQLI,因为理解您在服务器上运行的源代码非常重要。
我还创建了一个名为GetShouts
的函数。这样做的原因是,如果你决定改变你的发布方法(添加新的喊叫)到AJAX方法,你可以调用GetShouts()
,它会在用户添加新的喊叫时更新shoutbox,这将确认用户已添加了喊叫。
HTML文件:
<!DOCTYPE html>
<html><head>
<title>Shoutbox</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
<script type="text/javascript">
$(function() { //DOM is ready
function GetShouts(){
$('#chatbox').fadeOut('slow').load('chat.php').fadeIn("slow");
}
//Set interval
var auto_refresh = setInterval(GetShouts, 20000);
//Get shouts
GetShouts();
});
</script>
</head>
<body>
<div id="chatbox"></div>
</body></html>
PHP文件(chat.php):
<?php
$mysqli = new mysqli("LocalDB", "DB", "Pass", "DBO");
if ($mysqli->connect_errno) {
die("Connection Failed");
exit();
}
$Output="<table>";
if ($result = $mysqli->query("SELECT * FROM shoutbox LIMIT 15")) {
while ($row = $result->fetch_assoc()) {
$Output.='<tr><td>'.$row["name"].'</td><td>'.$row["post"].'</td></tr>';
}
$result->free();
}
$mysqli->close();
$Output.="</table>";
echo $Output;
?>
如果您不理解上述任何源代码,请在下方发表评论,我会尽快回复您,并在源代码中添加任何必要的评论。
通过标记答案来显示感谢。
我希望这会有所帮助。快乐的编码!