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
How to use foreach get data from the database table --
提问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 foreach
not 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
}
?>