在新页面上单击按钮时,如何显示数据库中的信息?

时间:2020-03-16 23:09:06

标签: javascript php

我正在寻找有关如何进行的建议。目前,我已将我的应用程序连接到商人的SQL数据库,并且已经能够成功地在“提交”按钮下方的表格内的同一页面上显示搜索结果。在此表中,我有关于返回的每个商人的少量信息,并且在表行的末尾有一个值为“更多信息”的按钮。单击后,该按钮会将用户带到另一个名为“ info.php”的页面。

当用户单击该按钮时,我需要以某种方式在info.php页面上生成有关该特定商人的所有信息。由于我需要PHP来进行数据库查询,而PHP似乎没有JavaScript那样的onClick事件,因此我不确定如何实现这一点。如何将按钮链接到与其关联的特定商人,以便可以返回正确的结果?在这种情况下,如何查询数据库?

我的目标网页代码如下。我不需要显示所有我需要执行的代码。我真的只需要指出正确的方向。谢谢!

<body>
        <?php
            ini_set('display_errors', 1);
            ini_set('display_startup_errors', 1);
            error_reporting(E_ALL);
            include("functions.php");
        ?>
        <div class='nav'>
            <ul>
                <li><a href='#about' class='navLink'>About</a></li>
                <li><a href='#login' class='navLink'>Login</a></li>
                <li><a href='#contact' class='navLink'>Contact</a></li>
            </ul>
        </div>
        <div class='wrapper'>
            <h1>Welcome!</h1>
            <div class='form_container'>
                <form action='landing_page.php' method='post'>
                    <input type='text' name='trade' placeholder='What trade do you want to learn?'>
                    <p><button class='btn btn-success' name='submit' type='submit'>Find a mentor</button></p>
                </form>
           </div>
           <?php 
                if(isset($_POST['submit'])) {
                    $trade = $_POST['trade'];
                    $results = query_database($trade);
                    if($results) {
                        $num_results = count($results);
                        print "<table><tr><th>First</th><th>Last</th><th>City</th><th>State</th><th>Available</th></tr>";
                       for($i=0; $i<$num_results; $i++) {
                           for($j=0; $j<5; $j++) {
                              if($j==0) {
                                   print "<td>" . $results[$i][$j] . "</td>";
                               }
                               else if($j==4) {
                                   print "<td>" . $results[$i][$j] . "</td><td><input type='button' value='more info' class='btnClass' onClick='location.href=\"info.php\"'></td></tr>";
                               }
                               else {
                                   print "<td>" . $results[$i][$j] . "</td>";
                               }
                           }
                       }
                        print "</table>";
                    }
                }
            ?>

       </div>
    </body>

1 个答案:

答案 0 :(得分:1)

单击网格每一行末尾的“更多信息”按钮时,可以将当前行推销员的信息保存到页面上的隐藏变量中,然后将其传输到“ info.php”页面通过GET或POST方法。

在每行按钮的名称后附加推销员ID,以使其对于每个推销员都是唯一的。当您单击相关的行按钮时,将当前推销员行所需的信息保存到隐藏变量中,然后使用GET或POST提交到“ info.php”作为表单提交。

示例: 如果要发送推销员ID和姓名,则可以在页面上显示2个隐藏变量,如下所示。

<input type="hidden" id="saleman_id">
<input type="hidden" id="saleman_name">

对于推销员搜索网格中每个推销员的每一行末尾的每个按钮,您可以具有以下代码:

<input type="button" id="<salesman_id>" value="more info" onclick="moreinfo.php?id=XXX&name=YYYY">

您必须在moreinfo.php中包含代码来处理要发送的变量。对于上述情况,变量是使用GET发送的,但是如果您不想显示正在发送的信息,也可以使用POST方法。

相关问题