繁体   English   中英

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页面上,然后使用单选按钮或....调用它们?

查询从数据库中选择电影信息,然后按等级,年份,流派或全部三个顺序对其进行排序。

设置所有单选按钮以保留相同的名称属性,但具有不同的值,然后在提交并选择所需的单选按钮后,查询匹配的内容。

<?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>

单选按钮必须具有相同的名称。

如果没有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']没有返回值,则intval()将返回零。

$queries = array(
0 => $query4,
1 => $query1,
2 => $query2,
3 => $query3,
4 => $query4);

$sql = $queries[$q];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM