【问题标题】:Retrieve data from MySQL with foreach使用 foreach 从 MySQL 中检索数据
【发布时间】:2015-06-24 13:02:48
【问题描述】:

我尝试从数组中的 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);

请注意,这只是我完整代码中的一个 sn-p,但以这种方式检索数据可以正常工作。

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

所以字段编号是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 代码,以便显示所有结果,而不仅仅是一个?

【问题讨论】:

  • 请问echo $wpdb->num_rows 好吗?

标签: php mysql wordpress checkbox foreach


【解决方案1】:

试试这个

$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

【讨论】:

    【解决方案2】:

    使用mysql的IN()函数,更干净。如果用户选中 4 个复选框,例如1.1, 1.2, 1.5, 1.6 下面会输出四行。

    $q = "SELECT value 
          FROM `wp_rg_lead_detail`
          WHERE `field_number` IN ('1.1', '1.2', '1.3', '1.4', '1.5', '1.6') ";
    
    $r = $wpdb->get_results($q);
    
    foreach ($que1 as $key12) {
        echo $key12->value . "<br>";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      相关资源
      最近更新 更多