php - 如何在选项中放入多个值并在mysql中处理它

标签 php html mysql arrays

我有一个 select 元素,用于从数据库中搜索数据,因此对于选项 data1 它将从数据库查询 data1 的数据,选项 data2 将查询 data2 的数据等等,但我想要一个可以的选项查询 select 元素中的所有数据。我正在考虑将多个值放入一个选项中并对其进行处理,我尝试使用数组内部值和 JSON 方法(我还没有真正理解),但我仍然想不出实现此目的的方法。

html:

<select name='select'>
    <option value='option1'>Option1</option>
    <option value='option2'>Option2</option>
    ...10++ more option
    <!--I want an option to select all with all the values, something like this, <option value='option1','option2','option3','option4','option5'...>Select all</option>-->
</select>

php:

<?php
$con = mysqli_connect('localhost','root','','database');
$option = $_POST['select'];
$sql = "SELECT * FROM database WHERE data='$option'";

//What I need is something like this when a user choose the option to select all:
//$sql = "SELECT * FROM database WHERE data='$option1' OR data='$option2' OR data='$option3' OR data='$option4 and so on"

$query = mysqli_query($con, $sql);
mysqli_close($con);
?>

这不是唯一的选择,我有 30 多个具有不同值的类似选择元素,但要访问 mysql 数据库中的同一列。至于现在,我将值“全选”设置为全选选项,并且我使用这样的 switch 方法:

php 开关:

<?php
switch($option) {
    case 'select all':
    $sql = "SELECT * FROM database WHERE data='option1' OR data='option2' OR data='option3' OR data='option4' and so on..";
    break;
default:
    break;
}
?>

但我不认为这是最好的方法,因为我还有另一个 30++ 选择,我必须在 switch 函数中编写每个选择情况,但我不认为这是干净的。 请教我如何简化这个。提前谢谢。

最佳答案

Use This Code

你要做的就是创建一个connect.php,在其中编写数据库连接的代码。你不应该在每一页都写.. 之后,使用此代码..谢谢你

关于php - 如何在选项中放入多个值并在mysql中处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313596/

相关文章:

php - 使用 Guzzle 通过 Symfony 将 HTTP GET 发送到外部 API

javascript - PHP Javascript Mysql 插入

php - 奇怪的是,有时 value float 值返回 0

php - 制作喜欢/不喜欢 AJAX 脚本 - 不起作用

php - 数据库 - mysql 问题中与 3 个表的内连接

php - 当我通过 PHP passthru() 获取脚本时,出现 "builtin: not found"

php - 如何通过IP地址获取国家代码和货币代码?

javascript - 文件下载完成后如何关闭模态对话框

javascript - Gatsby: img 是一个空元素标签,不能有 `children` 也不能使用 `dangerouslySetInnerHTML`

html5 与 XHTML