将mysql表行链接到新页面以使用应用程序ID显示完整的详细信息

时间:2018-01-04 20:03:32

标签: php mysql

在我的数据表中,我希望当我们点击应用程序ID时,它应该打开一个新页面(formdetails.php),其中将显示所有其余数据。我们如何制作应用程序ID的超链接?

以下是我的数据表的代码(索引应用程序列表的页面)。

<?php
    include("appconnect.php");
    $sql = "SELECT app_id, firstname, journeydate, appl_type, passportno, arrivalport, birthdate, phone FROM tblapps";
    $result = $connect->query($sql);
    if ($result->num_rows > 0) {
        echo "<table class=‘table table-bordered table-striped table-condensed flip-content’>
            <tr>
                <th>App ID</th><th>Name</th><th>Journey Date</th><th>App type</th><th>Passport No</th><th>Arrival Port</th><th>BirthDate</th><th>Phone</th>
            </tr>";

         // output data of each row
         while($row = $result->fetch_assoc()) {
            echo"<tr>
            <td>" . $row["app_id"]. "</td><td>" . $row["firstname"]. "</td><td>" . $row["journeydate"]. "</td><td>" . $row["appl_type"]. "</td><td>" . $row["passportno"]. "</td><td>" . $row["arrivalport"]. "</td><td>" . $row["birthdate"]. "</td><td>" . $row["phone"]. "</td></tr>";
    }
        echo "</table>";
    } else {
        echo "0 results";
    }

    $connect->close();
?>

这是在formdetails.php页面

<?php 
        session_start(); /* Starts the session */
        if(!isset($_SESSION['UserData']['Username'])){  
        header("location:login.php");   exit;}  

        $appid = $_GET['app_id'];
        include("appconnect.php");

        $sql = "SELECT * FROM tblapps WHERE app_id='.$appid.'";
        $result = $connect->query($sql);

?>

<html>
<body>
<p>Applicant Name - <?php echo $firstname ?> </p><br>
<p> Passportno - <?php echo $passportno ?>
</body>
</html>

需要显示的字段超过50个,但不起作用。我知道这是基本的,也很容易做,但我被困了,因为我是初学者。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用超链接发送GET参数。

您可以将app_id列单元格输出为

<td><a href=\"formdetails.php?app_id=".$row["app_id"]."\">". $row["app_id"]. "</a></td>

然后在您的formdetails.php页面中,您可以访问$_GET['app_id']来查询您的数据库

然而,通过传递id或通用的东西来混淆列名是明智的。

还考虑将PDO用于数据库交互

编辑:

试试这个?我认为你的SQL查询存在问题。

此外,您的SQL查询可能容易受到SQL INJECTION的攻击 - 请考虑在生产中修改此问题

index.php

<?php
    include("appconnect.php");
    $sql = "SELECT app_id, firstname, journeydate, appl_type, passportno, arrivalport, birthdate, phone FROM tblapps";
    $result = $connect->query($sql);
    if ($result->num_rows > 0) {
        echo "<table class=‘table table-bordered table-striped table-condensed flip-content’>
            <tr>
                <th>App ID</th><th>Name</th><th>Journey Date</th><th>App type</th><th>Passport No</th><th>Arrival Port</th><th>BirthDate</th><th>Phone</th>
            </tr>";

         // output data of each row
         while($row = $result->fetch_assoc()) {
            echo"<tr>
            <td><a href=\"formdetails.php?app_id=".$row["app_id"]."\">". $row["app_id"]. "</a></td><td>" . $row["firstname"]. "</td><td>" . $row["journeydate"]. "</td><td>" . $row["appl_type"]. "</td><td>" . $row["passportno"]. "</td><td>" . $row["arrivalport"]. "</td><td>" . $row["birthdate"]. "</td><td>" . $row["phone"]. "</td></tr>";
    }
        echo "</table>";
    } else {
        echo "0 results";
    }

    $connect->close();
?>

formdetails.php

<?php 
    session_start(); /* Starts the session */
    if(!isset($_SESSION['UserData']['Username'])){  
    header("location:login.php");   exit;}  

    $appid = $_GET['app_id'];
    include("appconnect.php");

    $sql = 'SELECT * FROM tblapps WHERE app_id='.$appid;
    $result = $connect->query($sql);
?>

<html>
    <body>
    <p>Applicant Name - <?php echo $firstname ?> </p><br>
    <p> Passportno - <?php echo $passportno ?>
    </body>
</html>