Как отобразить записи, соответствующие определенной переменной $ _SESSION - PullRequest
0 голосов
/ 01 апреля 2019

На моей странице будет отображаться список доступных ресторанов с использованием mysqli_fetch_array в течение цикла. Из них я могу выбрать ресторан, который я хочу. После этого я пытаюсь отобразить пункты меню, соответствующие данному restaurant на основе его rest_id.

В index.php я поместил значения rest_id, извлеченные из таблицы restaurant, в переменную $ _SESSION ['restid']. * 1009 Т.е. *

$ _ SESSION ['restid'] = $ row ['rest_id'];

Однако, когда я использую переменную $ _SESSION в viewMenu.php для отображения menu записей, соответствующих данному rest_id, он будет отображать только те записи, которые соответствуют окончательному rest_id в restaurant таблица.

Я думаю, это потому, что в цикле while для отображения записей для restaurant переменная $ _SESSION будет установлена ​​на последнее значение rest_id, полученное циклом. Я могу думать о массиве, но понятия не имею, как его реализовать.

Итак, мой вопрос: как мне получить конкретное значение $ _SESSION, которое соответствует конкретному rest_id, выбранному мной, чтобы я получал только записи, основанные на ресторане, который я фактически выбрал?

index.php

     <?php
            //Connect to mysql db
            $con = mysqli_connect('127.0.0.1','root','toor');
            //select database
            mysqli_select_db($con,'eatrebs');
            //Select query
            $sql = "SELECT * FROM restaurant";
            //Execute query
            $records = mysqli_query($con,$sql);

            ?>

            <?php
                    session_start();
            while ($row = mysqli_fetch_array($records))
            {

                echo '<tr><form action="update.php" method="post">';
                echo"<input type=hidden name=id value='".$row['rest_id']."'></td>";
                echo "<td><input type = text name = \"rname\"  value = '".$row['rest_name']."'</td>";
                echo "<td><input type = text name = \"email\"  value = '".$row['email']."'</td>";
                echo "<td><input type = text name = \"address\"  value = '".$row['address']."'</td>";
                echo'<td><input type=submit value="Update" onclick="return confirm(\'Are you sure?\');">';
                echo'<td><Button btn btn-primary btn-lg pull-left name=del onclick="return confirm(\'Are you sure?\');">Delete</Button>';
                echo "</form>";

                echo '<form action="Menu/viewMenu.php" method="post">';
                echo"<input type=hidden name=iid value='".$row['rest_id']."'></td>";
                $_SESSION['restid'] = $row['rest_id'];
                echo"<td><input type=submit value=\"View Menu\" name=viewMenu>";
                echo'</form></tr>';

            }





//viewMenu.php
    <?php
        session_start();
        $con = mysqli_connect("localhost","root","toor");
        mysqli_select_db($con, 'eatrebs');
        $sql = "SELECT items.* FROM items INNER JOIN restaurant ON restaurant.rest_id = items.rest_id Where items.rest_id = '{$_SESSION['restid']}' ";

        $menu = mysqli_query($con,$sql);

    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...