0

我创建了一个表,其中包含id - names - jobs仅显示名称的页面,并且在每个名称旁边都有Job包含 id 的按钮和会话。这是我的代码

$query = mysql_query("SELECT * FROM table");
while($fetch = mysql_fetch_array("$query")){
$name = $fetch['names'];
$id = $fetch['id'];
echo '</br>';
echo $name;
$_SESSION['name'] = $id;
echo "<button>Job</button>";
}

我希望当用户单击按钮时Job重定向到包含该会话作业的页面。那我该怎么做呢?

4

3 回答 3

1

echo行替换为:

echo "<button onclick='document.location=\"show_job.php?id=$id\">Job</button>";

顺便说一句,将 $id 存储在 $_SESSION 中是行不通的——每个网络会话只有一个 $_SESSION ,并且由于您列出了不同的作业,$_SESSION['id']因此将包含 LAST $id

于 2013-07-03T05:05:52.190 回答
0

您在每个循环中重写 $_SESSION 变量,因此它将仅包含表中的最后一个 id

我看到的唯一方法是<a href="?job_id=$id>Job</a>在页面上创建链接并查询确切的工作,例如SELECT * FROM table WHERE id=$_GET['job_id']

无论如何,您必须将其写在 html 中的某处,因为服务器端脚本需要知道您在寻找什么 id

Imo您并不真正了解客户端和服务器端之间发生了什么,但是我无法为您提供教程的链接,因为我上次使用它们已经很长时间了

于 2013-07-03T05:13:28.837 回答
0

有一种比使用会话更简单的方法。因为您使用会话的方式,一次只能保存一个 ID。

尝试使用带有 ID 作为参数的链接,而不是按钮。

<a href="link-to-target-page?id=$id">Job</a>

在那个目标页面上

$id = $_GET['id'];

现在您在目标页面中有 ID。如果您想加载更多的东西而不仅仅是一份工作,请尝试从数据库中提取。

另一方面,如果你只想在这里展示一份工作,那么整个事情就是一个糟糕的实现。原因不要让用户重定向到新页面只是为了查看职位。让他在第一页看到它。

于 2013-07-03T05:31:39.910 回答