打印时不会更新值

时间:2013-09-30 22:10:07

标签: php mysql

好的,我在数据库中有两个用户,分别是用户ID 1和2。 我试图获取他们的用户ID,然后在另一页打印。 但是,每次它将用户ID显示为1时。

这是代码: - 第一个代码是我正在打印的地方

<?php
include('dbconnector.php');
$id=(isset($_REQUEST['user_id']));
echo $id;
?>

第二个代码是我提取这些细节的地方: -

<?php
include('dbconnector.php');
//fetch the user information
$query = "select * from users";
$result=mysql_query($query, $db) or die (mysql_error($db));
echo "<table>";
echo "<tr>";
echo "<th> User ID</th>";
echo "<th> User Name</th>";
echo "</tr>";
while($row=mysql_fetch_assoc($result))
{
    echo "<tr>";
    echo "<td>" . $row['user_id'] . "</td>";
    echo '<td><a href="admin_view_users.php?user_id=' . $row['user_id'] . '">' . $row['user_name'] . '</td>';
    echo "</tr>";
}
echo "</table>";
?>

任何想法为什么这不起作用? 感谢。

3 个答案:

答案 0 :(得分:2)

在这一行:

$id=(isset($_REQUEST['user_id']));

您没有将$_REQUEST['user_id']的值分配给$id,但是您要分配isset($_REQUEST['user_id'])的结果,显然评估为TRUE并投射到{{ 1}}当你打印出来时。

所以你可以这样做:

1

如果你想在分配之前检查$id = $_REQUEST['user_id']; 是否存在,那么我建议你重构整个程序,因为你不希望在没有必要输入值的情况下执行相关代码,所以一个简单的三元组赢了你太好了。

答案 1 :(得分:1)

您没有关闭<a></a>标记。所以你的整个表格是第一个条目的一个重要链接。

echo '<td><a href="admin_view_users.php?user_id=' . $row['user_id'] . '">' . $row['user_name'] . '</a></td>';

答案 2 :(得分:1)

RainFromHeaven的答案的补充。 isset($ _ REQUEST [&#39; user_id&#39;])给出了是否指定了user_id的想法。那说你实际上需要:

$id = isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : "";