【问题标题】:PHP Radio button mysql queryPHP单选按钮mysql查询
【发布时间】:2015-06-12 13:36:33
【问题描述】:

我有 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 html mysql radio-button


【解决方案1】:

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

如果没有 method="post",&lt;form&gt; 方法将是 "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];

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 谢谢,我现在就试一试,看看我能不能让它工作,我会告诉你进展如何,再次谢谢
    • @McNoodles 注意: 这会起作用。如果没有,那是因为您设置查询的方式。那,将是另一个问题。你基本上把你的相关查询放在// query for Rating等里面。
    • @McNoodles 不客气,干杯 - 很高兴我能帮上忙。
    猜你喜欢
    • 2017-10-01
    • 2013-10-07
    • 1970-01-01
    • 2016-08-29
    • 2013-10-03
    • 2017-06-23
    • 2012-05-19
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多