我想问一下网页功能构建的任何线索。目标是从MySQL表中读取一个单元格,然后将其放在网页表的一个单元格中。接下来,该单元必须每x秒自刷新一次。整个网页表将从一开始就有25行25个刷新列。 Mysql表有26列,但只有25列包含所需和可编辑的数据。
一点编码:
主站点:网页单元格,其中包含刷新内容(现在包括非工作和原型编码)
<td>map_loader2(1,2) <div id="whateva"></div></td>
PHP请求在单独的.php文件中用于调用函数(仅在这里我确定它已正确编写并正常工作):
<?php
$servername = "localhost";
$username = "root";
$password = "admin";
$dbname = "map";
$loader="select c$column from map_1 WHERE map_1.RowNumber = $row ";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result=$conn->query($loader);
$array = mysql_fetch_row($result);
echo json_encode($array);
if ($conn->query($loader) === TRUE) {
// echo "Updated successfully";
header("Location: http://sectortrader/main_site_editor.php"); /* Redirect browser */
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
最后 - 我在很多失败的尝试和数十个不同的教程之后设法创建的,在W3上有无数的文档页面,其他几个来源:
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script language="javascript" type="text/javascript">
setInterval(function map_loader2(column, row)
{
$("#whateva").load("map_loader_query.php");
},5000); //refreshing interval
</script>
至于现在它只按预期在5秒后刷新(但显示错误 - 因为它没有获得正确的查询值),但我无法弄清楚如何强制它为该函数获取参数。我在PHP和MySQL中非常绿色,而且是js / jQuery / ajax中的全新手。然而,我试图写的这个迷你游戏也试图改善我的弱技能。
感谢您节省时间。
PS。
我完全忘了分享我之前尝试过的功能:
<?php
function map_loader($column, $row)
{
$servername = "localhost";
$username = "root";
$password = "admin";
$dbname = "map";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$loader="select c$column from map_1 WHERE map_1.RowNumber = $row ";
$result=$conn->query($loader);
$conn->close();
return $result;
}
?>
我只想按照以下方式使用它:
<tr>
<td rowspan="25"> </td>
<td>1</td>
<td>window.map_loader2(1,1) </td>
<td>map_loader2(1,2) <div id="whateva"></div></td>
<td> </td>
.
.
.
<tr>
<td>2</td>
<td><?php map_loader(2,1); ?> </td>
<td><?php map_loader(2,2); ?> </td>
<td> </td>
.
.
.
依此类推,又一次又一次......当然,它可以以某种方式更好地完成 - 但首先我想让它发挥作用,其次它可以改进。不幸的是,它不会像我一样轻松地工作 想。
答案 0 :(得分:0)
首先,您必须使用Ajax来完成您想要完成的任务。您需要创建一个每隔5秒执行一次的设置间隔函数,然后在其中ajax将调用map_loader_query.php页面,然后success函数将返回数据。如果从DB查询的数据只是html,您只需要在div whateva或td中插入查询的数据。
<td><div id="whateva"></div></td>
<script>
setInterval(function()
{
$.ajax({
type:"post",
url:"map_loader_query.php",
success:function(data) {
$('div#whateva').html(data);
}
});
}, 5000);
</script>