0

我为此使用了 Wordpress,但这不是以 Wordpress 为中心的问题,所以我在这里问。

你可以在这里看到我的代码片段:http: //pastebin.com/Cbc8wKvB

<?php

function getFormIds() 
{
        global $wpdb;

        $sql = "
                        SELECT a.id
                        FROM wp_rg_lead a
                        WHERE a.form_id = 10 AND a.payment_status = 'Approved'
        ";

        $query = $wpdb->get_results($sql);

        if($query)
                return $query;

        return false;
}

function getFormInfo($form_id) 
{
        global $wpdb;
        $sql = "
                        SELECT *
                        FROM wp_rg_lead_detail
                        WHERE lead_id = $form_id
                        ";

        $query = $wpdb->get_results($sql);

        if($query)
                return $query;

        return false;
}


$credit_card_form_ids = getFormIds();

if ( $credit_card_form_ids ) {
        $entries = array();

        foreach( $credit_card_form_ids as $entry) {
                $single_entry = getFormInfo($entry->id);

                if ( $single_entry ) {

                        $entry_array = array();
                        $full_array = array();

                        foreach( $single_entry as $entry ) {
                                $curr_array = array( $entry->field_number => strip_tags($entry->value));
                                $entry_array[$entry->field_number] = strip_tags($entry->value);
                                array_push($full_array, $entry_array);
                        }
                }
        }
        #var_dump('full_array', $full_array);
}

基本上我正在运行一个数据库查询来获取所有符合某个条件的条目 ID。这将返回单个值的对象数组。然后我通过 a 传递这个数组foreach()并尝试提取/组合数据以使其更易于使用。

这是上面代码print_r()中的一个:http: //pastebin.com/RZmfD2EU$single_entry

单项:

Array
(
    [0] => stdClass Object
        (
            [id] => 1983
            [lead_id] => 86
            [form_id] => 10
            [field_number] => 34
            [value] => 695
        )

    [1] => stdClass Object
        (
            [id] => 1982
            [lead_id] => 86
            [form_id] => 10
            [field_number] => 39
            [value] => 0
        )

    [2] => stdClass Object
        (
            [id] => 1981
            [lead_id] => 86
            [form_id] => 10
            [field_number] => 40.1
            [value] => Yes
        )
    ... etc etc.

使用我提供的代码,最终的数组似乎以某种方式崩溃——这意味着我在途中的某个地方丢失了条目。

理想情况下,我希望将数据关联id到他们的key=>value对。即:

 [id] => [lead_id]
 [field_number#] => [field_number_value]

对于提供的前几行数据的实际表示:

Array (
    [0] =>
        (
            [id] => 86
            [34] => 695
            [39] => 0
            [40.1] => Yes
            ...etc
        )
)

有没有比我正在做的更好的方法来循环和关联数据?我对 PHP 和 MySQL 比较陌生/不擅长,希望得到一些指导。

4

1 回答 1

0

我不确定我是否理解正确,但是如果您想为指定的键分配值……</p>

if ( $single_entry ) {

    $entry_array = array();
    $full_array = array();

    foreach( $single_entry as $entry ) {
        $curr_array = array( $entry->field_number => strip_tags($entry->value));
        $entry_array[$entry->field_number] = strip_tags($entry->value);
        $lead_id = $entry['lead_id'];
        $full_array[$lead_id] = $entry_array;
    }
}
于 2012-10-09T02:07:40.793 回答