单击另一页上的按钮时从表中回显值

时间:2017-12-15 09:13:54

标签: php html mysql

以下是我创建的用于显示表所有者的餐馆名称,位置和菜单的表格。 现在,列Menu的每一行都有Button作为值。 我的桌子准备好了完美的价值观。

现在我的问题是如何: -

点击每个餐厅对应的按钮后,将打开一个新文件(openmenu.php),并将回显餐厅名称,该餐厅的手机号码和菜单。 但到目前为止,单击每个Button时,我只能显示表格最后一行的上面条目。帮帮我。我是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>

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。

您可以使用视图按钮制作<form>(如果此视图按钮尚未包含表单),并为其指定一个方法:POSTGET

这看起来像是:<form method="POST"> <form method="GET">

Docs to POST and GET

我认为您的视图按钮看起来像这样

<form method="post" action="OtherPHPpage.php">
<input type="hidden" name="view" value="<?php echo $row['resphone']; ?>">
<input type="submit" value="View">
</form>

这会将您重定向到您的其他页面,您将能够post hidden input type 的价值

您也可以使用php个会话,即使这不是您案例中的最佳解决方案

session_start();

将它放在php页面的顶部

// set the session
$_SESSION['variablename'] = $row['resphone'];

// retrieve the session variable
$whatever = $_SESSION['variablename'];