отображать значение из таблицы php при нажатии на кнопку на другой странице

0

Ниже приведена таблица i, созданная для отображения имени ресторана, местоположения и меню для владельцев таблиц. Теперь каждая из строк для меню столбца имеет значение "Кнопка". Моя таблица готова с идеальными значениями.

ТЕПЕРЬ МОЯ ПРОБЛЕМА КАК ДЕЛАТЬ: -

После нажатия кнопки, соответствующей каждому Ресторану, откроется новый файл (openmenu.php) и отобразит название ресторана, номер мобильного телефона этого ресторана и меню. Но пока, нажав каждую кнопку, я могу отображать только верхние строки последней строки таблицы. Помоги мне. Я новичок в php.

Table.php

<?php


include 'nav.php';
$sql = 'SELECT * FROM owners';

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

if (!$query) {
die ('SQL Error: ' . mysqli_error($con));
}


?>

<html>
<head>
<link rel = "stylesheet" type = "text/css" href = "css/style.css">

<style> 
    .data-table{
 width: 1024px;
    margin-left: 150px;
    text-align:center;
     border: 1px solid firebrick;
    background-color: white;

}
td,th{
    border: 1px solid firebrick; padding: 3px 2px 1px 1px;
}


</style>
</head>

<body>

<div class="container">

<article>

<table class="data-table">

    <thead>
        <tr>

            <th>Restuarant Name</th>
            <th>Location</th>
            <th>Menu</th>
        </tr>
        <tr>

        </tr>
    </thead>
    <tbody>
    <?php

    while ($row = mysqli_fetch_array($query)){

   $_SESSION['resphone'] = $row['resphone'];
      $_SESSION['restaur'] = $row['restaur'];
        echo '<tr>


                <td>'.$row['restaur'].'</td>
                <td>'.$row['loc'].'</td>

                <td style="background-color:firebrick;"><form method="post" action="openmenu.php?id=$row[restaur]"><input value="<?php echo $restaur;?>" type="hidden">
 <input type="submit"  value="View"></form></td>
            </tr>';


    }


        ?>

            </tbody>

</table>


</form>







</article>



</div>

</body>
</html>

openmenu.php

<?php 


include('nav.php');


?>

<html>
<head>

 <link rel="stylesheet" href="css/style.css">
 <style>
table, td {
border: none;
 text-align: center;
    text-align-last: center;
 }

</style>
</head>
<body>

<div class="container">




<article>

<form  method="get" align="center"  action="" class="formwrap" enctype='multipart/form-data'>
<h1><?php $restaur = $_SESSION['restaur'];
echo $restaur ;?></h1>
<h1>Call to Order:</h1>
<?php $resphone = $_SESSION['resphone'];

echo $resphone;

?>

<br>
<br>
 <?php


 $sql = "select img from owners where restaur ='$restaur'";
 $result = mysqli_query($con,$sql);
 $row = mysqli_fetch_array($result);

 $image_src2 = "upload/".$row['img'];


?>
<img src='<?php echo $image_src2; ?>' >   

    </form>

</article>


 </div>

  </body>
</html>
Теги:

2 ответа

0
Лучший ответ

Проблема 1

В этом фрагменте вы устанавливаете переменные сессии resphone и restaur к значениям магазина вы сейчас Перебор. Снова и снова. Вот почему вы только когда-либо получаете информацию о последнем магазине - это последнее, что вы задали для этих переменных.

while ($row = mysqli_fetch_array($query)){

  $_SESSION['resphone'] = $row['resphone'];
  $_SESSION['restaur'] = $row['restaur'];

Выпуск 2

Вероятно, вы должны изменить метод формы, чтобы получить и отбросить неиспользуемый скрытый ввод следующим образом:

<form method="post" action="openmenu.php?id=<?=$row['restaur']?>">
  <input type="submit"  value="View">
</form>

Или более вероятно, просто изменить его обычную старую a ссылку:

<a href="openmenu.php?id=<?=$row['restaur']?>">View</a>

Проблема 3

Вы полностью игнорируете идентификатор магазина, запрошенный в openmenu.php. Вы используете $_SESSION где вы должны использовать $_REQUEST или $_GET. Я не буду приводить пример того, как вы должны это делать. Вместо этого, пожалуйста, обратитесь к этому ответу, прежде чем двигаться дальше.

0
first you getting data from database  & then use view button for openmenu.php but why u use this way 
<form method="post" action="openmenu.php?id=$row[restaur]"><input value="<?php echo $restaur;?>" type="hidden"><input type="submit"  value="View"></form>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню