在超链接中显示数据并链接到另一个.php页面

时间:2014-05-15 14:04:30

标签: php sql

好吧,我得到了这个程序,在超链接中显示员工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>

感谢您的帮助!

2 个答案:

答案 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中的列名相同