PHP MySQL сохраняет выбранную опцию из выпадающего меню, когда меню выбирается из базы данных - PullRequest
0 голосов
/ 12 июня 2018

У меня проблема с моей страницей.Я пытался решить эту проблему с помощью множества учебников, но я не знаю, как заставить это работать.Проще говоря, у меня есть база данных объектов.Когда я выбираю объект, страница перенаправляется на другой, где отображаются все сведения об объекте.Но мне нужно сохранить выбранную опцию в выпадающем меню.Есть 110 объектов, поэтому, если я выберу объект № 25, информация будет отображаться, но выпадающее меню не останется на № 25. Может ли кто-нибудь помочь мне с этим?

<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'];
?>

Первая страница 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>";
?>

Ответы [ 3 ]

0 голосов
/ 12 июня 2018

Проверьте, соответствует ли значение публикации идентификатору объекта в цикле.

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

Если это так, $selected устанавливается на "выбранный" и добавляется к опции.

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

0 голосов
/ 12 июня 2018

Когда вы выбираете опцию и нажимаете на кнопку, она будет работать в противном случае нет.

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'];
}
0 голосов
/ 12 июня 2018

Вы можете отправить это значение $_POST['Objket'] через переменную, скажем, $selected_value, а в теге опции вы можете написать

<option value='" .$row['Objekt']. "' '.if($row['Objket']==$selected_value) echo selected.'>" .$row['Objekt']. "</option>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...