我尝试从数组中的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);
请注意,这只是我的完整代码的一个片段,但以这种方式检索数据效果很好。
现在问题是表单还有一个带有六个复选框的字段。数据将保存在数据库中,如下所示:
所以字段数是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代码,以便显示所有结果而不仅仅是一个?
答案 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