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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/29968425/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 00:41:05  来源:igfitidea点击:

How to use foreach get data from the database table --

phphtmlmysqlforeach

提问by sravan kumar

My database has a table called tblprojectswith column names say, project_num, project_status, project_name. I want to use foreach loop to get the data from the database and display the records in php table.

我的数据库有一个名为tblprojects的表,其列名是project_num, project_status, project_name。我想使用 foreach 循环从数据库中获取数据并在 php 表中显示记录。

However I am unable to display the records with following code. Please help me in correcting it. Am new to using PHP.

但是我无法使用以下代码显示记录。请帮我改正。刚开始使用 PHP。

Following is the code I have written:

以下是我写的代码:

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

Please help me in solving the problem,reply with corrected code ( preferred ). Thanks a lot in advance.

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

回答by Sougata Bose

The foreachnot needed here.

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

回答by Ajjay Arora

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

回答by Divyesh

Hello Try this code you have not need to foreach loop so it's save your time and good practice in future

你好试试这个代码,你不需要 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
    }
?>