如何使一个链接记住它的价值作为一个href之前转移到下一页中使用

How to make a link remember what value it had as an href before transferring to be used in the next page

本文关键字:转移 href 一个 一页 链接 何使一      更新时间:2023-09-26

通过研究,我想出了一种简洁的方法,可以将数据库中的信息显示到php页面中。

现在我的下一个目标是将每一行链接到另一个php页面,该页面将识别用户单击的帐户ID

echo "<table border='1'>
<tr>
<th>Account ID</th>
<th>Account Username</th>
<th>Account Password</th>
<th>Account First Name</th>
<th>Account Middle Name</th>
<th>Account Last Name</th>
<th>Account Phase</th>
<th>Account Block - Lot</th>
<th>Account Subdivision</th>
<th>Account Contact Number</th>
<th>Account Email Address</th>
<th>Account Status</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['acc_no'] . "</td>";
echo "<td>" . $row['acc_user'] . "</td>";
echo "<td>" . $row['acc_pass'] . "</td>";
echo "<td>" . $row['acc_fname'] . "</td>";
echo "<td>" . $row['acc_mname'] . "</td>";
echo "<td>" . $row['acc_lname'] . "</td>";
echo "<td>" . $row['acc_phase'] . "</td>";
echo "<td>" . $row['acc_blk-lot'] . "</td>";
echo "<td>" . $row['acc_subd'] . "</td>";
echo "<td>" . $row['acc_contact_num'] . "</td>";
echo "<td>" . $row['acc_email_address'] . "</td>";
echo "<td>" . $row['acc_status'] . "</td>";
echo "</tr>";
}
echo "</table>";

我尝试了这个echo "<td><a href='target php page here'>" . $row['acc_no'] . "</td>",但生成的所有链接将具有相同的值。我认为这可能需要JQuery之类的东西,但不幸的是,我们学校还没有教这些东西,或者可能有更好的工作来解决我的问题。请帮助。

我不确定如何在While循环中集成逻辑,我的意思是只要循环没有完成,这是否意味着$_GET或$_POST会循环吗?

while($row = mysql_fetch_array($result))
{
echo "<tr>";
// Step 1.
// Create a custom URL that points to this same script, 
// passing the account number as a $_GET parameter.
echo '<td><a href="thisScript.php?id=' . $row['acc_no'] . '">' . $row['acc_no'] . "</a></td>";
echo "<td>" . $row['acc_user'] . "</td>";
echo "<td>" . $row['acc_pass'] . "</td>";
echo "<td>" . $row['acc_fname'] . "</td>";
echo "<td>" . $row['acc_mname'] . "</td>";
echo "<td>" . $row['acc_lname'] . "</td>";
echo "<td>" . $row['acc_phase'] . "</td>";
echo "<td>" . $row['acc_blk-lot'] . "</td>";
echo "<td>" . $row['acc_subd'] . "</td>";
echo "<td>" . $row['acc_contact_num'] . "</td>";
echo "<td>" . $row['acc_email_address'] . "</td>";
echo "<td>" . $row['acc_status'] . "</td>";
echo "</tr>";
// Step 2.
// Check if the user has already clicked a one of the URLs we custom made in step 1.
if (isset($_GET['id'] && $_GET['id'] == $row['acc_no']){
     // the user has, so let's allow them to change the fields.
     // This form appears directly under the record that was clicked.
     echo '<form action="commitChangesScript.php" method="post">';
     echo '<input type="text" name="fname">';
     //repeat for any fields you want to be able the change.
     // ...
     echo '</form>';
}
}

首先创建自定义url,这可以在没有表单的情况下完成,只需创建一个指向该位置的链接,并在其末尾添加查询字符串。

在第一个页面加载时,isset($_GET['id']永远不会为真,因为用户可能还没有选择一个帐户。第一个页面加载创建表以及特定用户的所有链接。url是唯一的,因为它们是使用帐号创建的。对于帐户#1,URL指向thisScript.php?id=1,账号#987的URL是thisSciprt.php?id=987.

当用户选择帐号时,将出现一个新表单,允许他们更改字段。这是因为$_GET['id']将被设置为所选择的帐号。我们可以将该输入与数据库中的字段进行比较,允许所有其他行不具有该表单。

这只是一个可行的例子。所包含的形式将打断<table>,这可能看起来有点粗糙。

这是否意味着$_GET或$_POST将与它一起循环?

$_GET和$_POST是在while之外定义的,这意味着它们不会被重复定义。但是,它们在while循环的范围内,如我所展示的示例所示。