Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用foreach从数据库表获取数据--_Php_Html_Mysql_Foreach - Fatal编程技术网

Php 如何使用foreach从数据库表获取数据--

Php 如何使用foreach从数据库表获取数据--,php,html,mysql,foreach,Php,Html,Mysql,Foreach,我的数据库有一个名为tblprojects的表,列名为project\u num、project\u status、project\u name。我想使用foreach循环从数据库中获取数据,并在php表中显示记录 但是,我无法显示具有以下代码的记录。请帮我改正一下。我不熟悉使用PHP 以下是我编写的代码: <?php $projects = array(); // fetch data from the database $records = mysql_q

我的数据库有一个名为tblprojects的表,列名为project\u num、project\u status、project\u name。我想使用foreach循环从数据库中获取数据,并在php表中显示记录

但是,我无法显示具有以下代码的记录。请帮我改正一下。我不熟悉使用PHP

以下是我编写的代码:

<?php
     $projects = array();
     // fetch data from the database
     $records = mysql_query('select project_num, project_status, project_name from tblprojects') or die("Query fail: " . mysqli_error());
?>


<table  class="table table-striped table-condensed" id="tblData">
    <thead>
        <tr>
            <th>Project Name</th>
            <th>Project Number</th>
            <th>Project Status</th>
       </tr>
    </thead>

    <tbody>
       <?php 
            while (  $row =  mysql_fetch_assoc($records)    )
            {
                $projects[] = $row;
                foreach ($projects as $project):
      ?>
        <tr>
            <td><?echo $project['proj_name']; ?></td>
            <td><?echo $proj['proj_num']; ?></td>
            <td><?echo $proj['proj_status']; ?></td>
        </tr>

      <?php endforeach; 
           }
      ?>


    </tbody>        
</table>

项目名称
项目编号
项目状态

请帮我解决这个问题,回复正确的代码(首选)。先谢谢你

此处不需要
foreach

<?php 
    $projects = array();
    while ($project =  mysql_fetch_assoc($records))
    {
        $projects[] = $project;
    }
    foreach ($projects as $project)
    {
?>
    <tr>
        <td><?php echo $project['proj_name']; ?></td>
        <td><?php echo $project['proj_num']; ?></td>
        <td><?php echo $project['proj_status']; ?></td>
    </tr>
<?php
    }
?>

您好,请尝试此代码,您不需要foreach循环,这样可以节省您的时间,并在将来进行良好的实践

<?php 
    $projects = array();
    while ($project =  mysql_fetch_assoc($records))
    {

?>
    <tr>
        <td><?php echo $project['proj_name']; ?></td>
        <td><?php echo $project['proj_num']; ?></td>
        <td><?php echo $project['proj_status']; ?></td>
    </tr>
<?php
    }
?>


项目名称
项目编号
项目状态

请。它们不再得到维护,而是在使用。而是学习,并使用。您不需要
foreach()
。谢谢您的建议。我会注意不要进一步使用mysql_uu函数。但是,我想使用for each来获取数据,因为我想将我的表的每一行链接到一个模式,该模式同时显示其余列中的所有数据。感谢您的建议。但是,我想使用foreach来获取数据,因为我想将我的表的每一行链接到一个引导模式,该模式显示其余列中的所有数据也。(我实际上有5列,但在表中仅显示3列,modal将在每行的5列中显示所有数据)因此询问如何将foreach与此while循环链接。然后首先创建数组,然后使用foreach。如果您可以编辑代码并将其显示给我,这将非常有用,因为我尝试过使用它,但无法解决它。(请参阅我的代码顶部的行)。提前谢谢。更新了答案。希望它能对你有所帮助。请在你的回答中添加一些解释。谢谢@桑帕达:我添加了一些评论来解释。如需进一步解释,请回复
<?php
         // fetch data from the database
         $records = mysql_query('select project_num, project_status, project_name from tblprojects') or die("Query fail: " . mysqli_error());
?>
<table  class="table table-striped table-condensed" id="tblData">
    <thead>
        <tr>
            <th>Project Name</th>
            <th>Project Number</th>
            <th>Project Status</th>
       </tr>
    </thead>

    <tbody>
       <?php 
            //records as in an array

foreach( $records as $data ) // using foreach  to display each element of array
            {
                echo "<tr><td>".$data['proj_name']."</td>
                          <td>".$data['proj_num']."</td>
                          <td>".$data['proj_status']."</td>
                       </tr>";
            }
       ?>
    </tbody>        
</table>