На моей странице будет отображаться список доступных ресторанов с использованием 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);
?>