Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tự động làm mới bảng mà không cần làm mới trang PHP MySQL

Kỹ thuật này được gọi là AJAX và một trong những thư viện dễ dàng nhất để thêm vào dự án sẽ là jQuery . Tôi cho rằng vấn đề của bạn không phải với JavaScript mà là do ý tưởng tải lại toàn bộ trang.

CẬP NHẬT Bởi vì tôi là một chàng trai tốt;) Cái này ít nhiều cũng có tác dụng, tôi chưa thử, nên có thể có một hoặc hai lỗi đánh máy:

<?php

$host="****";
$user="****";
$password="****";

$cxn = mysql_pconnect ($host, $user, $password);

mysql_select_db("defaultdb", $cxn);

if (getenv(HTTP_X_FORWARDED_FOR)) {
$ipaddress = getenv(HTTP_X_FORWARDED_FOR);
} else {
$ipaddress = getenv(REMOTE_ADDR);
}

$message = nl2br(strip_tags(nl2br($_POST["message"])));
if (isset($_POST['submitButton'])) { 
if ($message != "") {
mysql_query("INSERT INTO ChatTest (ID, TimeStamp, Message) VALUES ('$ipaddress', NOW(), '$message')");
}
header('Location: chat.php');
}

$message = "";

$data = mysql_query("SELECT * FROM ChatTest ORDER BY TimeStamp DESC") or die(mysql_error()); 

$tbl = '';
$tbl .= "<table border cellpadding=3 width='100%' style='table-layout:fixed'>
"; 
$tbl .= "<tr>"; 
$tbl .= "<th style='width:10%;'>ID:</th><th style='width:10%;'>TimeStamp:</th><th style='width:70%;'>Message:</th>";
while($info = mysql_fetch_array( $data )) { 
$tbl .= "
<tr>"; 
$tbl .= " <td>".$info['ID'] . "</td> "; 
$tbl .= " <td>".$info['TimeStamp'] . " </td>";
$tbl .= " <td style='white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word'>".$info['Message'] . "</td></tr>
"; 
} 
$tbl .= "</table>"; 

mysql_close($cxn);

if (isset ($_GET['update']))
{
    echo $tbl;
    die ();
}

?>
<html><head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
</head><body><center>
<form action="chat.php" method="post">
Message: <br><textarea type="text" name="message" style="width:80%; height:300px;"></textarea><br>
<input type="submit" name="submitButton"/> <a href="https://www.****.com/chat.php"><button name="Refresh Chat">Refresh Chat</button></a>
</form>
<div id="messages" style="width:100%;">
  <?php echo $tbl; ?>
</div></center>
<script type="text/javascript">
$(document).ready (function () {
    var updater = setTimeout (function () {
        $('div#messages').load ('chat.php', 'update=true');
    }, 1000);
});
</script>
</body></html>

Đối với các kỹ thuật viết mã, bạn có thể muốn xem xét SQL-injection và có thể viết HTML sạch hơn, nhưng tôi chắc chắn rằng bạn sẽ đạt được điều đó :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận n bản ghi đầu tiên / cuối cùng cho mỗi nhóm bằng

  2. MySQL - Tìm nạp giá trị thấp nhất

  3. Chế độ xem cụ thể hóa với MySQL

  4. Cách quản lý cơ sở dữ liệu MySQL, người dùng và bảng từ dòng lệnh

  5. Cách lưu trữ dữ liệu bằng unicode bằng ngôn ngữ tiếng Hin-ddi