我尝试从数组中的 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 代码,以便显示所有结果,而不是只有一个?
最佳答案
试试这个
$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
关于php - 使用 foreach 从 MySQL 中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29703247/