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

时间:2015-04-30 12:59:17

标签: php html mysql foreach

我的数据库有一个名为 tblprojects 的表,列名称为 project_num,project_status,project_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>

请帮我解决问题,回复更正后的代码(首选)。非常感谢提前。

3 个答案:

答案 0 :(得分:9)

此处不需要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
    }
?>

答案 1 :(得分:0)

你好尝试这个代码,你不需要预先循环,这样可以节省你的时间和未来的良好实践

<?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
    }
?>

答案 2 :(得分:0)

<?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>