【问题标题】:Adding database results to array将数据库结果添加到数组
【发布时间】:2010-03-26 01:52:29
【问题描述】:

我脑子里一片空白,终生无法找到解决办法。

我的情况是我正在使用 PHP 和 MySQL 进行编程。我有一个返回特定 orderid 的结果的数据库表。查询每个订单最多可以返回 4 行,最少可以返回 1 行。

这是我想要返回结果的图像。 alt text http://sandbox.mcmedia.com.au/nqlsolutions/images/packages.jpg

我将所有订单详情(姓名、地址)等存储在名为“orders”的表中。 我将该订单的所有包裹都存储在名为“包裹”的表中。

我需要做的是使用一个循环,我需要访问数据库结果的每个特定元素(IE package1、itemstype1、package2、itemtype2)等

我正在使用这样的查询来尝试获取“项目数:

$sql = "SELECT * FROM bookings_onetime_packages WHERE orderid = '".$orderid."' ORDER BY packageid DESC";
$total = $db->database_num_rows($db->database_query($sql));

$query = $db->database_query($sql);

$noitems = '';
while($info = $db->database_fetch_assoc($query)){
$numberitems = $info['numberofitems'];

for($i=0; $i<$total; $i++){

$noitems .= $numberitems[$i];

}

}
print $noitems;

我需要访问每个特定元素,因为我需要使用“fpdf”创建填写 pdf 模板。

我希望这是有道理的。任何方向将不胜感激。

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    你应该这样做:

    $data = array();
    while($row = $db->database_fetch_assoc($query))
    {
        $data[] = $row;
    }
    

    现在 $data 是一个数组,其中每个元素都是查询结果的一行。

    然后您可以访问 $data[0]、$data[1] 的行,访问行中的元素 $data[1]['package']、$data[0]['itemtype'] , 因为每一行都是一个关联数组。

    您可以使用 count($data) 获取返回的行数。

    【讨论】:

    • 感谢一百万大卫的回答,非常清楚和准确。
    猜你喜欢
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 2021-10-03
    • 1970-01-01
    相关资源
    最近更新 更多