在我的数据表中,我希望当我们点击应用程序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个,但不起作用。我知道这是基本的,也很容易做,但我被困了,因为我是初学者。
答案 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>