PHP单选按钮mysql查询
PHP Radio button mysql query
我有 4 个不同的 MySQL 查询,我希望能够根据单击的单选按钮选择使用哪一个。我想知道执行此操作的最佳方法是什么?
<form action="">
<input type="radio" name="query1" value="">Rating<br>
<input type="radio" name="query2" value="">Genre<br>
<input type="radio" name="query3" value="">Year<br>
<input type="radio" name="query4" value="">Rating,Genre,Year
</form>
我是否将查询存储在单独的 php 页面上,然后使用单选按钮或....调用它们?
从数据库中查询的 select 电影信息,然后按评级、年份、流派或三者同时排序。
将所有单选按钮设置为具有相同的名称属性但具有不同的值,然后在提交并选择所需的单选按钮后,查询匹配的内容。
<?php
if(isset($_POST['submit'])){
if(!isset($_POST['query'])){
echo "You chose nothing";
}
if($_POST['query'] == "Rating"){
// query for Rating
echo "Rating";
}
if($_POST['query'] == "Genre"){
// query for Genre
echo "Genre";
}
if($_POST['query'] == "Year"){
// query for Year
echo "Year";
}
if($_POST['query'] == "Rating,Genre,Year"){
// query for Rating,Genre,Year
echo "Rating,Genre,Year";
}
} // brace for if(isset($_POST['submit']))
?>
<form action="" method="post">
<input type="radio" name="query" value="Rating">Rating<br>
<input type="radio" name="query" value="Genre">Genre<br>
<input type="radio" name="query" value="Year">Year<br>
<input type="radio" name="query" value="Rating,Genre,Year">Rating,Genre,Year
<br>
<input type="submit" name="submit" value="Submit query">
</form>
这充其量只是一个基本示例。
使用数据库相关的代码时,记得使用mysqli
with prepared statements, or PDO with prepared statements,这样更安全。
单选按钮必须具有相同的名称。
如果没有 method="post",<form>
方法将是 "get",因此 PHP 将使用 $_GET
而不是 $_POST
<form action="">
<input type="radio" name="query" value="1">Rating<br>
<input type="radio" name="query" value="2">Genre<br>
<input type="radio" name="query" value="3">Year<br>
<input type="radio" name="query" value="4">Rating,Genre,Year
</form>
我不太喜欢使用 IF ELSE 分支结构并尽可能避免使用它们。
我更喜欢在数组中传递整数值。
PHP
$q = intval($_GET['query']);
如果 ($_GET['query']
return 没有值,intval()
将 return 为零。
$queries = array(
0 => $query4,
1 => $query1,
2 => $query2,
3 => $query3,
4 => $query4);
$sql = $queries[$q];
我有 4 个不同的 MySQL 查询,我希望能够根据单击的单选按钮选择使用哪一个。我想知道执行此操作的最佳方法是什么?
<form action="">
<input type="radio" name="query1" value="">Rating<br>
<input type="radio" name="query2" value="">Genre<br>
<input type="radio" name="query3" value="">Year<br>
<input type="radio" name="query4" value="">Rating,Genre,Year
</form>
我是否将查询存储在单独的 php 页面上,然后使用单选按钮或....调用它们?
从数据库中查询的 select 电影信息,然后按评级、年份、流派或三者同时排序。
将所有单选按钮设置为具有相同的名称属性但具有不同的值,然后在提交并选择所需的单选按钮后,查询匹配的内容。
<?php
if(isset($_POST['submit'])){
if(!isset($_POST['query'])){
echo "You chose nothing";
}
if($_POST['query'] == "Rating"){
// query for Rating
echo "Rating";
}
if($_POST['query'] == "Genre"){
// query for Genre
echo "Genre";
}
if($_POST['query'] == "Year"){
// query for Year
echo "Year";
}
if($_POST['query'] == "Rating,Genre,Year"){
// query for Rating,Genre,Year
echo "Rating,Genre,Year";
}
} // brace for if(isset($_POST['submit']))
?>
<form action="" method="post">
<input type="radio" name="query" value="Rating">Rating<br>
<input type="radio" name="query" value="Genre">Genre<br>
<input type="radio" name="query" value="Year">Year<br>
<input type="radio" name="query" value="Rating,Genre,Year">Rating,Genre,Year
<br>
<input type="submit" name="submit" value="Submit query">
</form>
这充其量只是一个基本示例。
使用数据库相关的代码时,记得使用
mysqli
with prepared statements, or PDO with prepared statements,这样更安全。
单选按钮必须具有相同的名称。
如果没有 method="post",<form>
方法将是 "get",因此 PHP 将使用 $_GET
而不是 $_POST
<form action="">
<input type="radio" name="query" value="1">Rating<br>
<input type="radio" name="query" value="2">Genre<br>
<input type="radio" name="query" value="3">Year<br>
<input type="radio" name="query" value="4">Rating,Genre,Year
</form>
我不太喜欢使用 IF ELSE 分支结构并尽可能避免使用它们。
我更喜欢在数组中传递整数值。
PHP
$q = intval($_GET['query']);
如果 ($_GET['query']
return 没有值,intval()
将 return 为零。
$queries = array(
0 => $query4,
1 => $query1,
2 => $query2,
3 => $query3,
4 => $query4);
$sql = $queries[$q];