简体   繁体   中英

PHP MySQL keep selected option from dropdown menu when menu is select from database

I have a problem with my page. I was trying to solve it by a lot of tutorials but i don´t know how to make it work. Simply put i have a database of objects. When i select object, page will redirect to another where are shown all informations about the object. But i need to keep the selected option in drop down menu. There is 110 objects so if i select object number 25, informations will show but the drop down menu wont stay on number 25. Can somebody help me with it?

<form action="dbobj2.php" method="post" name="form1">
    Zoznam objektov<br>
    <?php
        include('System/connect.php');
        $sql = "SELECT Objekt FROM DBObj";
        $result = mysqli_query($db,$sql);
        echo "<select name='Objekt'>";
        while ($row = mysqli_fetch_array($result)) {
            echo "<option value='" . $row['Objekt'] . "'>" . $row['Objekt'] . "</option>";
        }
        echo "</select>";
    ?>
    <input name="btnSubmit" type="submit" value="Vyber">
</form>
<?php
    echo $_POST['Objekt'];
    echo "<hr>";
        $strSQL = "SELECT * FROM DBObj WHERE Objekt = '".$_POST['Objekt']."' ";
        $objQuery = mysqli_query($db,$strSQL);
        $objResult = mysqli_fetch_array($objQuery);
        $imgRes=$objResult['URLobr'];
    echo '<img src="http://page.sk.sk/imgs/'.$imgRes.'" alt="obj" height="600" width="800"/>';
    echo "<hr>";
    echo $objResult['Text'];
?>

First page php

<form action="dbobj2.php" method="post" name="form1"> 
  Zoznam objektov<br>
Vyberte si zvolený objekt z menu a stlačte tlačidlo výber<br>
<?php
include('System/connect.php');
$sql = "SELECT Objekt FROM DBObj";
$result = mysqli_query($db,$sql);
echo "<select name='Objekt'>";
while ($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['Objekt'] . "'>" . $row['Objekt'] . "</option>";
}
echo "</select>";
?>

您可以通过变量让我们说出$selected_value来发送该值$_POST['Objket'] ,然后在option标记中编写

<option value='" .$row['Objekt']. "' '.if($row['Objket']==$selected_value) echo selected.'>" .$row['Objekt']. "</option>

Check whether the post value matches the object id in the loop.

$selcted = $_POST['Objekt'] == $row['Objekt'] ? ' selected' : '';

If it does $selected is set to " selected" and added to the option.

echo "<option value='" . $row['Objekt'] . "'" . $selected . ">" . $row['Objekt'] . "</option>";

When you select a option and click on button then it will work otherwise no.

if(isSet($_POST['Objekt']))
{
echo $_POST['Objekt'];
    echo "<hr>";
        $strSQL = "SELECT * FROM DBObj WHERE Objekt = '".$_POST['Objekt']."' ";
        $objQuery = mysqli_query($db,$strSQL);
        $objResult = mysqli_fetch_array($objQuery);
        $imgRes=$objResult['URLobr'];
    echo '<img src="http://page.sk.sk/imgs/'.$imgRes.'" alt="obj" height="600" width="800"/>';
    echo "<hr>";
    echo $objResult['Text'];
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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