如何使用多个字段

时间:2015-07-29 08:07:51

标签: php html mysql laravel laravel-5

我在这里有这个表格: My Form

我正在编写PHP脚本,以便能够使用从上面的表单中获取的数据搜索我的表。如您所见,它由选择框,日期范围和输入框组成。

我已在此处编写此脚本,它仅适用于纯文本框。我不知道如何选择包含多个选项的选择框。

另外,我不确定我是否做了正确的事情。因为它似乎被迫重命名我的名称属性以匹配表列。它是tedius,因为我的桌子有超过150列。

这是我的代码:

public function search(Request $request)
{
foreach($this->fields as $field){

        if(isset($_POST[$field]) && $request->get($field) != '') {

            $data = $request->get($field);

            $this->conditions[] = "`$field` = '" . $data . "'";
        }

    }

    $query = "SELECT * FROM csv_data_final ";

    if(count($this->conditions) > 0) {
        $query .= "WHERE " . implode (' AND ', $this->conditions); 
    }

return $results = DB::select( $query ); // I'm using Laravel's Query Builder
}

1 个答案:

答案 0 :(得分:0)

  

多个选择框,多个复选框始终显示为   阵列。   其他字段如Single Select,texbox,textarea或radio都会以字符串形式发布。

检查您发布的字段是否为数组。

if (isset($_POST[$field]) && $request->get($field) != '') {
  $data = $request->get($field);
  if (is_array($data) {
    foreach ($data as $curr) {
      $this->conditions[] = "`$field` = '" . $curr . "'";
    }
  }
  else {
    $this->conditions[] = "`$field` = '" . $data . "'";
  }
}