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

时间:2015-03-28 04:12:40

标签: 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多个类似的具有不同值的select元素,但要访问mysql数据库中的同一列。至于现在我把价值&#39;选择全部&#39;对于select all选项,我使用的开关方法如下:

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 ++的选择,我必须在开关功能中编写每个选择的情况,我不是这个很干净。 请教我如何简化这个。 Thx提前。

1 个答案:

答案 0 :(得分:0)

Use This Code

你做的是制作一个connect.php,你在那里编写数据库连接的代码。你不应该写在每一页.. 之后,使用此代码..谢谢你