解析PHP数组以构建查询字符串

时间:2017-05-18 13:36:58

标签: php html arrays

我正在尝试在我的php页面上构建一个多选,用户可以从数据库中选择要查询的字段。我有多选设置,我正在努力研究"幕后花絮"查询构建部分的语法,但是当我点击echo语句时,它没有显示所选的内容。

根据从页面上的多选中选择的内容构建查询字符串的正确方法是什么? (现在授予我省略了有效的连接字符串等。)

<html>
<select name="employee_data[]" multiple style="min-width: 200px;" id="user_data">
<option value="EmployeeName">Employee Name</option>
<option value="TeamName">Team Name</option>
<option value="ManagerName">Manager Name</option>
<option value="Department">Department</option>
<option value="Recruiter">Recruiter</option>
<option value="RecruitingAgency">RecrutingAgency</option>
</select>
</html>
<?php
  $query = "Select employeename ";
  if (in_array('TeamName')) $query .= ",teamname"
  if (in_array('ManagerName')) $query .= ",ManagerName"
  if (in_array('Department')) $query .= ",Department"
  if (in_array('Recruiter')) $query .= ",Recruiter"
  if (in_array('RecruitingAgency')) $query .= ",RecruitingAgency"
  $query .= " FROM employeepersonelinfo where employeename = '$employeename'";

echo $query;
?>

1 个答案:

答案 0 :(得分:0)

以下是正在运行的PHP代码。您可以使用implode()

,而不是检查每个
<?php
 if (!isset($_POST['employee_data'])) die();
 $query = "Select employeename ";
 $query .= implode(', ', $_POST['employee_data']);
 $query .= " FROM employeepersonelinfo where employeename = '" . 
 $_POST['employeename'] . "'";
 echo $query;
 ?>

您并不需要检查每个值。您可以使用数组函数来保存代码行和条件行。