从自定义sql迭代php数组

时间:2016-03-31 22:32:49

标签: php mysql arrays

我对我的数据库做了一个自定义的JOIN查询,并返回了我需要的所有信息的数组,但我无法显示它。如果我var_dump($query);我可以看到所有信息,但是当我这样做时,我什么也得不到?

orders = $wpdb->get_results($query);
<?php foreach ($orders as $order) { ?>
    <tr>
        <td><?php echo $date; ?></td>
        <td><?php echo $order['order_first_name']; ?></td>
        <td><?php echo $order['order_last_name']; ?></td>
        <td><?php echo $order['contact_email']; ?></td>
        <td><?php echo $order['contact_phone']; ?></td>
        <td><?php echo $order['order_address']; ?></td>
        <td><?php echo $order['order_state']; ?></td>
        <td><?php echo $order['order_zip']; ?></td>
    </tr>
<?php } ?>

如果我转储一个像<?php foreach ($orders as $order) { var_dump($order)}?>这样的订单,我就会得到这个

object(stdClass)#2300 (11) { ["order_contact_id"]=> string(5) "67378" ["order_date"]=> string(17) "20160129T15:23:20" ["order_contact"]=> string(13) "XXXXXX" ["order_first_name"]=> string(6) "XXXXXX" ["order_last_name"]=> string(6) "XXXXXX" ["contact_email"]=> string(23) "XXXXXX" ["contact_phone"]=> string(17) "XXXXXX" ["order_address"]=> string(24) "XXXXXX" ["order_city"]=> string(8) "XXXXXX" ["order_state"]=> string(2) "CO" ["order_zip"]=> string(5) "80241" }

1 个答案:

答案 0 :(得分:1)

您正在尝试访问类似于数组的对象。试试这个:

<?php
$orders = $wpdb->get_results($query);
foreach ($orders as $order) { ?>
    <tr>
        <td><?php echo $date; ?></td>
        <td><?php echo $order->order_first_name; ?></td>
        <td><?php echo $order->order_last_name; ?></td>
        <td><?php echo $order->contact_email; ?></td>
        <td><?php echo $order->contact_phone; ?></td>
        <td><?php echo $order->order_address; ?></td>
        <td><?php echo $order->order_state; ?></td>
        <td><?php echo $order->order_zip; ?></td>
    </tr>
<?php } ?>