PHP如何将SQL查询结果转为多维数组,并按查询行输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP如何将SQL查询结果转为多维数组,并按查询行输出相关的知识,希望对你有一定的参考价值。

在php中,SQL查询数据库得到的是多行多列的数据,如何将查询结果转为二维数组,我的目的是把多行查询结果按行输出,有没有什么方法,求详细代码示例
查询结果示例:
reserv_id name type reserv_time
1 a x 2013-4-14

2 b y 2013-4-15

3 c z 2013-4-16

想要将上述查询结果按行输出,请问查询结果怎么处理,求代码示例!
$order=array();
if($query_search_order)
while($row_order=mysql_fetch_array($query_search_order))
print_r($row_order);

Array ( [0] => 30 [reserv_id] => 30 [1] => 2013-04-09 [check_in_date] => 2013-04-09 [2] => 2013-04-16 [check_out_date] => 2013-04-16 [3] => 3528 [amount] => 3528 [4] => 0 [reserv_status] => 0 ) Array ( [0] => 33 [reserv_id] => 33 [1] => 2013-04-10 [check_in_date] => 2013-04-10 [2] => 2013-04-13 [check_out_date] => 2013-04-13 [3] => 1242 [amount] => 1242 [4] => 0 [reserv_status] => 0 ) Array ( [0] => 34 [reserv_id] => 34 [1] => 2013-04-09 [check_in_date] => 2013-04-09 [2] => 2013-04-12 [check_out_date] => 2013-04-12 [3] => 1512 [amount] => 1512 [4] => 0 [reserv_status] => 0 )

结果是三个数组,怎么把它们存到二维数组里面

因为是循环取的,你在循环外声明一个空数组,在循环内,将结果集交给这个数组就行了,比如空数组时$arr=array,给数据的时候$arr[ ]=一行结果。php的数组下标是自动增长的
楼下也是个糊涂蛋,明明自己遍历的是二维数组,还叫你用一维数组追问

我更新了问题,帮忙看看应该怎么修改,谢谢啦~

追答

$order=array();
if($query_search_order)
while($row_order=mysql_fetch_array($query_search_order))
$order[ ]=$row_order;

print_r($order);
遍历就用楼下的,他的就是常用的

参考技术A 因循环取循环外声明空数组循环内结集交给数组行了比空数组时$arr=array,给数据时候$arr[
]=行结php数组下标自动增长
楼下也糊涂蛋明明自己遍历二维数组还叫用维数组
参考技术B 这个不是很简单么?楼主是php初学者吧?这个一维数组就可以输出,为什么要用二维数组呢?比如你现在已经获得了这些数据,保存在$rs中,那么在页面就用foreach($rs as $key=>$value)
echo $value[reserv_id];

依次将这些数据输出就好了,为什么要用二维数组呢?追问

刚接触php,我想结果输出到表格里,想用二维数组循环生成表格,foreach怎么实现?

追答

为什么要用二维数组生成表格呢?一维数组可以解决的问题,你用二维数组只会增加难度。
1:首先,在后台用$rs来获得这些数据,你能获得到吗?你可以用echo或者print_r()函数来打印一下你所获得的$rs,看有没有数据。如果有数据了,
2:在页面写代码啊,给你写最简单的吧。

$value) ?>

就这么简单,

就可以将数据输出到表格里面了,我实在是不能理解为什么要用二维数组,你可能在逻辑思维能力上面还需要提升,慢慢来,加油
好吧,第一次被称为是糊涂蛋,那么让楼上帮你解决问题吧。

将php数组传递给sql查询[重复]

【中文标题】将php数组传递给sql查询[重复]【英文标题】:passing a php array into an sql query [duplicate] 【发布时间】:2011-11-10 00:35:09 【问题描述】:

我正在尝试对 php 数组中匹配值的行进行 sql 查询。

基本上我有一个类似的数组

$userIDs[0] = 23456;
$userIDs[1] = 42901;
$userIDs[2] = 82731;
$userIDs[3] = 23921;

并且想要执行单个 SQL 查询来获取与该数组匹配的行

SELECT * FROM users WHERE userID IN $userIDs

有没有简单的方法来做到这一点?还是我必须手动构造查询字符串?

【问题讨论】:

【参考方案1】:

使用implode函数即

$QueryStr = "SELECT * FROM users WHERE userID IN (".implode(',', $userIDs).")";

【讨论】:

以上是关于PHP如何将SQL查询结果转为多维数组,并按查询行输出的主要内容,如果未能解决你的问题,请参考以下文章

如何将sql结果动态转换为多维数组?

如何从 php mysql 查询中为 jQuery 自动完成准备多维数组?

如何在 PHP 中循环遍历多维数组并按名称递归删除键?

如何使用 php 数组将 sql 查询结果转换为数据透视表?

如何将多维PHP数组转换为html表

Sql 查询以获取最多 10 条的最新记录并按提到行排名的字段排序 [关闭]