PHP调用

时间:2017-07-07 20:45:02

标签: php

我对PHP编程比较陌生。我正在建立一个小的crud应用程序(待办事项列表),以准确练习。我正在努力充实用户界面,并测试信息在页面上的数据库中的显示方式。

当用户登录时,会显示他们已保存的所有项目的表格。

表列出项目

  <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请求下的任何内容都不会出现某些原因。我看过其他帖子,人们提到了同样的事情,但我没有看到任何与我的问题相符的具体内容。

3 个答案:

答案 0 :(得分:0)

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
}

答案 1 :(得分:0)

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>

&#34 ;;

}
echo    " </table>";
?>

使用echo在php中执行整个操作以显示表elemts和Hi。删除额外的PHP标签,以便循环和回显所有的PHP。另请参阅注释中提到的安全问题。顺便说一句,我在阅读问题下方的评论后将表格结束标记移到了循环外面。

答案 2 :(得分:0)

尝试更改您的查询:

$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");