好吧,我得到了这个程序,在超链接中显示员工ID,用户可以在其中点击一个并转到另一个名为task7.php
的php页面。此task7.php
页面链接到用户输入员工ID的HTML页面,并显示各种购买详细信息(这样可以正常工作)。
似乎正在发生的事情是,一旦用户点击超链接,字段名称就会显示在表格中,但没有该员工ID的详细信息。我认为我创建的程序坚持认为只有输入task7.htm
而不是通过超链接才能获得员工ID的详细信息。我想知道的是我如何运行查询,通过超链接显示所有购买详细信息,而不会损坏我创建的当前代码,以通过用户输入显示详细信息。
注意:当我点击任何超链接的员工ID时,我不仅会在表格中获取字段名称,而且还会收到错误:
注意:未定义的索引:I:\ twa \ twa291 \ task7.php中的staffID。
这是超链接代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Prac 2 Task 3</title>
</head>
<body>
<?php
$conn = mysql_connect("localhost", "twa291", ".....");
mysql_select_db("factory291", $conn)
or die ('Database not found ' . mysql_error() );
$sql = "SELECT staffID, staffName FROM staff";
$rs = mysql_query($sql, $conn)
or die ('Problem with query' . mysql_error());
?>
<table border="1" summary="Staff Orders">
<tr>
<th>Staff ID</th>
<th>Staff Name</th>
</tr>
<?php
while ($row = mysql_fetch_array($rs)) { ?>
<tr>
<td><a href="task7.php?staffno=<?php echo $row["staffID"]?>">
<?php echo $row["staffID"]?></a><
<td><?php echo $row["staffName"]?></td>
</tr>
<?php }
mysql_close($conn); ?>
</table>
</body>
</html>
以下是task7.php
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Prac 2 Task 3</title>
</head>
<body>
<?php
$conn = mysql_connect("localhost", "twa291", "......");
mysql_select_db("factory291", $conn)
or die ('Database not found ' . mysql_error() ); ?>
<?php
$staffid= $_GET["staffID"];
?>
<?php
$sql = "SELECT orderID, orderDate, orderDate, shippingDate, staffName FROM purchase,
staff
WHERE staff.staffID='$staffid'";
$rs = mysql_query($sql, $conn)
or die ('Problem with query' . mysql_error());
?>
<table border="1" summary="Staff Orders">
<tr>
<th>Order ID</th>
<th>Order Date</th>
<th>Shipping Date</th>
<th>Staff Name</th>
</tr>
<?php
while ($row = mysql_fetch_array($rs)) { ?>
<tr>
<td><?php echo $row["orderID"]?></td>
<td><?php echo $row["orderDate"]?></td>
<td><?php echo $row["shippingDate"]?></td>
<td><?php echo $row["staffName"]?></td>
</tr>
<?php }
mysql_close($conn); ?>
</table>
</body>
</html>
感谢您的帮助!
答案 0 :(得分:0)
您使用密钥staffno
创建网址,然后尝试检索密钥staffID
。
在task7.php中更改:
$staffid= $_GET["staffno"]; // not $staffid= $_GET["staffID"];
或更改超链接代码:
<td><a href="task7.php?staffID=<?php echo $row["staffID"]?>">
答案 1 :(得分:0)
在第一页中传递“staffno”参数,但在task7.php中你得到$ _GET [“staffID”];
所以这样改变:
<a href="task7.php?staffID=<?php echo $row["staffID"]?>">
我个人更喜欢使用“staffID”而不是“staffno”,所以它与DB中的列名相同