使用foreach从MySQL检索数据

时间:2015-04-17 15:19:59

标签: php mysql wordpress checkbox foreach

我尝试从数组中的SQL数据库中检索数据。它正在工作,但我确实遇到了一个特定数据输入的问题。让我解释一下:

我从表单中检索我的数据。如果用户填写表单,数据将保存在数据库中,我现在就像这样检索数据:

$que10 = $wpdb->get_results("SELECT value FROM `wp_rg_lead_detail` WHERE `field_number` = '10'");

然后我使用foreach:

foreach ($que10 as $key8) {
$dd5 = $key8->value;
}

然后我有我的阵列:

$placeholders = array('[id]', '[dd1]', '[dd2]', '[dd3]', '[dd4]', '[dd5]', '[dd6]', '[dd7]', '[dd8]', '[dd9]', '[dd10]', '[dd11]', '[dd12]');

            $actvalues = array($lastgridid, $fullname, $string, $dd3, $dd5, $dd6, $dd7, $dd8, $dd9, $dd10, $dd11, $ga, $dd12);

请注意,这只是我的完整代码的一个片段,但以这种方式检索数据效果很好。

现在问题是表单还有一个带有六个复选框的字段。数据将保存在数据库中,如下所示:

enter image description here

所以字段数是1.1,1.2,1.3,1.4,1.5和1.6!我试图用这段代码检索这些数据:

$que1 = $wpdb->get_results("SELECT value FROM `wp_rg_lead_detail` WHERE `field_number` LIKE '%1.1%' OR `field_number` LIKE '%1.2%' OR `field_number` LIKE '%1.3%' OR `field_number` LIKE '%1.4%' OR `field_number` LIKE '%1.5%' OR `field_number` LIKE '%1.6%'");

它正在运作但我现在使用这个foreach:

foreach ($que1 as $key12) {
$dd12 = $key12->value;
 }

结果我只得到一个复选框结果,即使用户选中了四个复选框,也只会显示一个复选框结果。

有人可以告诉我如何更改foreach代码,以便显示所有结果而不仅仅是一个?

1 个答案:

答案 0 :(得分:0)

试试这个

$que1 = $wpdb->get_results("SELECT value FROM `wp_rg_lead_detail` WHERE `field_number` LIKE '%1.1%' OR `field_number` LIKE '%1.2%' OR `field_number` LIKE '%1.3%' OR `field_number` LIKE '%1.4%' OR `field_number` LIKE '%1.5%' OR `field_number` LIKE '%1.6%'",ARRAY_A);

while ($row = mysql_fetch_assoc($que10)) {
    echo $row["wp_rg_lead_detail"];
}

注意:您需要最后一个参数 ARRAY_A