从included.php文件自动刷新表
我一直在尝试在不刷新页面的情况下刷新表。 我知道这可以通过AJAX实现,但我似乎无法让它正常工作。从included.php文件自动刷新表,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我一直在尝试在不刷新页面的情况下刷新表。 我知道这可以通过AJAX实现,但我似乎无法让它正常工作。 这就是我的处境: 我有一个main.php页面,其中包含一个include(table.php)。其中包含一个表id:tablevisit。这个表是动态生成的:它循环遍历数据库中的每一行。这是table.php echo "<div id='tableContainer'>"; $con = new mysqli("localhost","sample","samplepass"
这就是我的处境:
我有一个main.php页面,其中包含一个include(table.php)。其中包含一个表id:tablevisit。这个表是动态生成的:它循环遍历数据库中的每一行。这是table.php
echo "<div id='tableContainer'>";
$con = new mysqli("localhost","sample","samplepass","sample");
$sql = "SELECT * FROM sampletable";
$i = 0;
$dyn_table = '<table border="1" cellpadding="10" class="visitorlist" id="tablevisit">';
$query = $con->query($sql);
while($row = $query->fetch_assoc()){
$id = $row['ID'];
$name = $row['address'];
$date = $row['date'];
$time = $row['time'];
$url = $row['visit_url'];
$urlstring = $row['visit_url'];
if($i % 3 == 0){
$dyn_table .= '<tr><td>'.$name.'</td>';
$dyn_table .= '<td>'.$date.'</td>';
$dyn_table .= '<td>'.$time.'</td>';
$dyn_table .= '<td class="tdshort"><a href='.$url.' target = "_blank" class=" tdoverflow">' . $_SESSION['cuttedurl'] . '</a></td>';
$dyn_table .= '<td><button type= "button" name = "' . $id . '" class="dynamixbutton navbar-button btn-danger btn" post_id="' . $id . '" type="submit" >CHAT</button></td>';
$dyn_table .= '<td>' . $id . '</td>';
}
else {
$dyn_table .= '<tr><td>'.$name.'</td>';
$dyn_table .= '<td>'.$date.'</td>';
$dyn_table .= '<td>'.$time.'</td>';
$dyn_table .= '<td><a href='.$url.' target = "_blank" class=" tdoverflow">' . $_SESSION['cuttedurl'] . '</a></td>';
$dyn_table .= '<td><button type= "button" name = "' . $id . '" class="dynamixbutton navbar-button btn-danger btn" post_id="' . $id . '" type="submit">CHAT</button></td>';
$dyn_table .= '<td>' . $id . '</td>';
}
$i++;
}
$dyn_table .='</tr></table>';
echo "</div>";
echo”“;
$con=newmysqli(“localhost”、“sample”、“samplepass”、“sample”);
$sql=“从sampletable中选择*”;
$i=0;
$dyn_表=“”;
$query=$con->query($sql);
而($row=$query->fetch\u assoc()){
$id=$row['id'];
$name=$row['address'];
$date=$row['date'];
$time=$row['time'];
$url=$row['visit_url'];
$urlstring=$row['visit_url'];
如果($i%3==0){
$dyn_table.=''.$name';
$dyn_表=“$date.”;
$dyn_表=“$time.”;
$dyn_表='';
$dyn_table.='CHAT';
$dyn_表=''.$id';
}
否则{
$dyn_table.=''.$name';
$dyn_表=“$date.”;
$dyn_表=“$time.”;
$dyn_表='';
$dyn_table.='CHAT';
$dyn_表=''.$id';
}
$i++;
}
$dyn_表='';
回声“;
在main.phpecho$dyn_表上代码>被调用。
现在,需要每隔x秒调用$dyn_表。如何做到这一点?
我尝试过刷新表格,但我认为最好每x秒调用$dyn_表格一次。
我试过了,但没有成功。这些是html元素,不是PHP变量。
有什么建议吗?建议、技巧?
提前谢谢 就我理解你的问题而言,我相信你对ajax的工作原理一无所知。也许这对你有帮助
在伪代码中,它如下所示:
whenajaxrequestwassuccessfull (var tabledata = getDataFromServerViaAjax('http://URL of The PHP File which echos a json formated data string')) {
var dataobject = convertjsontoobject(tabledata);
loop over the table {
tablerow->tablefield->setData(dataobject->somedetail)
}
}
就我理解你的问题而言,我相信你对ajax的工作原理一无所知。也许这对你有帮助
在伪代码中,它如下所示:
whenajaxrequestwassuccessfull (var tabledata = getDataFromServerViaAjax('http://URL of The PHP File which echos a json formated data string')) {
var dataobject = convertjsontoobject(tabledata);
loop over the table {
tablerow->tablefield->setData(dataobject->somedetail)
}
}
您的PHP文件只是创建一个空div并将数据存储在一个变量中。您还没有回拨到$dyn\u表
。尝试粘贴echo$dyn_表代码>底部附近的某个位置(可能是echo“”上方的行
@Tom我试图在div中回显$dyn_table;
。不幸的是,它不起作用。只是为了确定;echo$dyn_table;
存在于main.php中,main.php包括上面的代码table.php。ajax代码在哪里?从ajax调用同一页面,并用该ajax数据替换当前文档的body>数据您的PHP文件正在创建一个空div并将数据存储在一个变量中。您还没有回拨到$dyn_表
。请尝试将echo$dyn_表;
粘贴到底部附近的某个位置(可能是echo>上方的行)
@Tom我试图在div中回显$dyn_table;
。不幸的是,它不起作用。只是为了确定;echo$dyn_table;
存在于main.php中,main.php包括上面的代码table.php。ajax代码在哪里?从ajax调用同一页面,并用该ajax数据替换当前文档的body>数据是的,你是对的,我只懂一点AJAX。我正在努力学习它。哈哈。我会看看这个。是的,你是对的,我只懂一点AJAX。我正在努力学习它。哈哈。我会看看这个。