从数据库中制作一个舒适的php多维数组

时间:2013-02-14 11:10:28

标签: php arrays loops

我得到了这样的代码:

include 'dbconnect.php';
mysql_query("SET NAMES utf8;"); 

$sql = mysql_query("SELECT * From courseEnglish");
$courseInfo = array();


while ($row_course = mysql_fetch_assoc($sql))
   $courseInfo[] = $row_course;

它给了我一个来自db的php数组,但是为了呈现我需要使用的数据:

echo $courseInfo[2]['Course'];

我想数组是这样的,我可以输入类似的东西:

echo $courseInfo[2][2];

是否有一个更改代码的选项,所以生成一个数组,我可以只用索引循环?

3 个答案:

答案 0 :(得分:1)

我认为你正在寻找mysql_fetch_row,它与mysql_fetch_assoc一样,除了它返回一个数字索引数组的事实。 here's the link to the docs

话虽如此,您可能需要考虑放弃已弃用的mysql_*扩展名,支持mysqli_*i代表改进)或完全OO风格{ {1}}扩展名。检查任何PDO函数手册页顶部的红色框,它包含指向首选对应函数的链接......

但考虑到所有事情,查看您的查询(mysql_*),我使用数字索引数组来获取结果。如果您的表包含多个字段,那么在尝试计算哪些数据来自哪个字段时,您迟早会遇到麻烦。说真的......只需使用一个关联数组,甚至更好:使用对象 假设您更改了表格布局(添加/删除某些字段?),那么在这种情况下维护代码将会很糟糕。不过,由你来决定,但我想我可能会提到这一点。

答案 1 :(得分:0)

也许这个......?

foreach ($courseInfo as $course_index = > $course_content)
   foreach ($course_content as $field)
     echo $field;

欢呼声

答案 2 :(得分:0)

试试这个:

while ($row_course = mysql_fetch_array($sql))