gpt4 book ai didi

php - 修改我的 php-mysql 机制以在结果中包含自定义多个复选框值

转载 作者:行者123 更新时间:2023-11-30 00:58:14 24 4
gpt4 key购买 nike

我有以下 PHP MySql 查询形成机制,用于处理用户放入表单中的数据并从我的数据库中获取相关结果。

<?php
// build array of field names=============================================================================
$fields=array('user','customer','vessel','country',
'port','eta','service_station',
'case_reference','status');

// initialize empty array for WHERE clauses
$wheres=array();

// loop through field names, get POSTed values,
// and build array of WHERE clauses, excluding false values
foreach ($fields as $field) {
// get existing field value from POST, mark missing or empty value as FALSE
${$field} = isset($_POST[$field]) && trim($_POST[$field])!=''
? trim($_POST[$field]) : false;

// add to array of WHERE clauses only if value is not FALSE
if (${$field}) { $wheres[]="$field LIKE '".${$field}."%'"; }

}

$sql="SELECT * FROM jobs WHERE ".
(!empty($wheres) ? implode(" AND ",$wheres) : '1=1').
";";
?>


<html>
<head>
<title></title>
</head>
<body>
<label name="user"><input/></label>
<label name="customer"><input/></label>
<label name="vessel"><input/></label>
<label name="country"><input/></label>
<label name="port"><input/></label>
<label name="eta"><input/></label>
<label name="service_station"><input/></label>
<label name="case_reference"><input/></label>
<label name="status"><input/></label>
</body>

我想在我的数据库中添加一个名为type_of_service的列。但在我的搜索表单中,我想根据服务类型添加复选框列表,以便用户能够同时输入多个类型:

<div id="multiselect" class="field">
<div>
<label><input type="checkbox" name="type_of_service[]" value="Fire Extinguishers">Fire Extinguishers</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Fixed CO2 Systems">Fixed CO2 Systems</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Fixed Foam Systems">Fixed Foam Systems</label>
</div>
<div>
<label><input type="checkbox" name="type_of_service[]" value="Liferafts">Liferafts</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Lifeboats & Davits">Lifeboats & Davits</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Immersion Suits & Lifejackets">Immersion Suits & Lifejackets</label>
</div>
<div>
<label><input type="checkbox" name="type_of_service[]" value="Breathing Apparatus">Breathing Apparatus</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Medical Oxygen Resuscitators">Medical Oxygen Resuscitators</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Emergency Escape Sets">Emergency Escape Sets</label></br>
</div>
<div>
<label><input type="checkbox" name="type_of_service[]" value="New Supply">New Supply</label></br>
<label><input type="checkbox" name="type_of_service[]" value="Other">Other Equipment/Works</label>
</div>
</div>

我应该以什么方式修改我的 PHP MySQL 查询形成机制才能包含此内容并能够通过复选框进行搜索???

最佳答案

您遇到设计问题。您的数据是如何构建的。

您有多种选择:

  • 你用逗号左右连接你的类型(非常难看)
  • 您为每个选项制作一列(非常难看)
  • 您创建一个单独的表来存储与 job_id 绑定(bind)的类型。检索类型时,您可以通过select type from job_types where job_id = 1(最佳选项)来搜索该表

您循环遍历复选框和一行到具有相应job_idjob_types 表。然后你就拥有了结构良好的数据。

关于php - 修改我的 php-mysql 机制以在结果中包含自定义多个复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20376671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com