繁体   English   中英

如何使用我拥有的 php 值更改 select 属性中的选定选项?

[英]How can I change the selected option in select atribute using the php value that i have?

我希望我的 select 属性根据 php $choice 更改它的选定选项。 例如,如果我选择了 FOOD ASC(它是选项 1),我想在按下名称为“sortbutton”的按钮后选择它

if(isset($_POST['sortbutton']))// if button pressed
{
    $choice = $_POST['sort_select'];
    if($choice == 0){...there was some code //if selected option == 0
        $qr_result = mysqli_query($db, "Select * 
                                        from `menu` 
                                        WHERE id>0 
                                        ORDER BY price ASC")
            or die(mysqli_error());

        echo '<table class="tam" style = "position:fixed; top: 110px;">'; //table
        echo '<td>' . 'Блюдо' . '</td>';
        echo '<td>' . 'Состав' . '</td>';
        echo '<td>' . 'Цена' . '</td>';
        while($data = mysqli_fetch_array($qr_result)){
            echo '<tr>';
            echo '<td>' . $data['product'] . '</td>';
            echo '<td>' . $data['consistency'] . '</td>';
            echo '<td>' . $data['price'] . '</td>';
            echo '</tr>'; //outputing database

HTML

<form action="" method="POST">
    <div class="sorti">
        <select name="sort_select" >
            <option value="0" name = "value1">PRICE ASC</option>
            <option value="1" name = "value2">PRICE DESC</option>
            <option value="2" name = "value3">NAME ASC</option>
            <option value="3" name = "value4">NAME DESC </option>
        </select>
        <button name = "sortbutton">Show menu</button>
</form>

 <form action="" method="POST"> <div class="sorti"> <select name="sort_select" > <option value="0" name = "value1" <?php echo $choice== 0?"selected":""; ?>>PRICE ASC</option> <option value="1" name = "value2" <?php echo $choice== 1?"selected":""; ?> >PRICE DESC</option> <option value="2" name = "value3" <?php echo $choice== 2?"selected":""; ?> >NAME ASC</option> <option value="3" name = "value4" <?php echo $choice== 3?"selected":""; ?> >NAME DESC </option> </select> <button name = "sortbutton">Show menu</button> </div> </form>

我假设,下一页在 html 上再次呈现相同的表单应该可以工作。 我可能想写得更好,但在选项上选择的设置是你应该 go 的解决方案

option元素没有name属性,应该去掉,下拉选择的名称当然是<select name="sort_select">元素中使用的名称然后一个简单的三元测试,测试$choice的值会像这样为你设置选定的属性

<form action="" method="POST">
    <select name="sort_select">
        <option value="0" <?php echo $choice==0 ? 'selected="selected"' : '';?>>PRICE ASC</option>
        <option value="1" <?php echo $choice==1 ? 'selected="selected"' : '';?>>PRICE DESC</option>
        <option value="2" <?php echo $choice==2 ? 'selected="selected"' : '';?>>NAME ASC</option>
        <option value="3" <?php echo $choice==2 ? 'selected="selected"' : '';?>>NAME DESC </option>
    </select>
    <button name="sortbutton">Show menu</button>
</form>

暂无
暂无

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

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