我为此使用了 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 比较陌生/不擅长,希望得到一些指导。