[英]Subsequent HTML not being displayed after PHP call
我对PHP编程比较陌生。 我正在构建一个小练习应用程序(待办事项列表),以供练习之用。 我正在努力充实UI并测试页面上数据库中信息的显示方式。
用户登录时,将向他们显示所有已保存项目的表。
表列表项
<div class="container">
<table class="table">
<tr>
<th>Completed</th>
<th>Description</th>
<th>Actions</th>
</tr>
<tr>
<td colspan="3"></td>
</tr>
<?php
$document_get = mysql_query("SELECT * FROM todolist WHERE user_id='$user_id' ORDER BY id DESC");
while($match_value = mysql_fetch_array($document_get)) {
?>
<tr>
<td>
Hi
</td>
</tr>
</table>
<?php
}
?>
</div>
php调用以显示列表项
<?php
$document_get = mysql_query("SELECT * FROM todolist WHERE user_id='$user_id' ORDER BY id DESC");
while($match_value = mysql_fetch_array($document_get)) {
?>
由于某些原因,此PHP请求下的所有内容均未显示。 我看过其他人提到相同内容的帖子,但没有看到与我的问题相符的具体内容。
mysql_fetch_array
返回一个数组。 while语句的结构不会获得您想要的结果。 while循环将永远永远是正确的,因为while条件没有任何变化。
这应该使效果更接近您要查找的内容:
$document_get = mysql_query("SELECT * FROM todolist WHERE user_id='$user_id' ORDER BY id DESC");
$match_value = mysql_fetch_array($document_get);
foreach ($match_value as $value){
//Do something
}
附带说明-我强烈建议您使用PDO,不要将php与html放在一行。 此处的教程: https : //phpdelusions.net/pdo
如果您使用PDO,则循环看起来像这样:
while($row = $st->fetch(PDO::FETCH_ASSOC)){
//Do something
}
enter code here <?php
$document_get = mysql_query("SELECT * FROM todolist WHERE user_id='$user_id' ORDER BY id DESC");
while($match_value = mysql_fetch_array($document_get)) {
echo "
<tr>
<td>
Hi
</td>
</tr>
“;
}
echo " </table>";
?>
在PHP中使用echo做整个事情,以显示表elemts和Hi。 删除多余的php标签,以便循环并回显所有php。 还请查看注释中提到的安全性问题。 顺便说一句,在阅读问题下方的注释后,我将表结束标记移到了循环之外。
尝试从以下方式更改查询:
$document_get = mysql_query("SELECT * FROM todolist WHERE user_id='$user_id' ORDER BY id DESC");
至
$document_get = mysql_query("SELECT * FROM todolist WHERE user_id='".$user_id."' ORDER BY id DESC");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.