我有一个包含从 mysql 表中查询的数据的数组,我想使用 foreach 在数组中显示特定数据(特定列数据)。
+------+-------+------+-----+
| id | name | sex | age |
+------+-------+------+-----+
| 1 | tom | m | 18 |
| 2 | jane | f | 32 |
| 4 | Doyle | m | 25 |
+------+-------+------+-----+
假设数组名称是 $candidates,我需要从 $candidates 显示的只是列“名称”中的名称......
我已经使用 while 循环完美地完成了这项工作,但我不想再次运行数据库查询,因为数据已经存在于数组 $candidates 中
以下是代码:
1. Class function performing the query
<?php
class pubCourses {
function getPubRegCand($org_id, $c_id){
//fetch the list of registered candidates for this course
$query_reg_cand = @mysql_query("select * from public_reg_cand where org_id='".$org_id."'");
$cand = array();
$cand = @mysql_fetch_assoc($query_reg_cand);
return $cand;
}
}
?>
2. Calling the class function
<?php
$obj = new pubCourses();
$candidates = array();
if(isset($_GET['c_id']) && isset($_GET['org_id'])){
$candidates = $obj->getPubRegCand($_GET['org_id'], $_GET['c_id']);
}
?>
3. Foreach statement to display the candidates names
<?php
foreach($candidates as $id=>$cands){
?>
<tr>
<td> </td>
<td> </td>
<td class="bold">Participant's Name: <?php echo ucwords($cands['name']); ?></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?php
}
?>
上面的 foreach 语句没有显示我需要的“名称”,而是显示第一行的第一个字符,即 1、t、m、1...
请帮我解决这个问题...谢谢