根据使用会话选择的行获取数据

时间:2018-07-04 08:54:02

标签: php mysql session html-table

我如何获得特定的数据(链接URL),具体取决于我在edit.php页面上按下“编辑”按钮所使用的行。就目前而言,我正在使用会话,但是尽管按下“ google.com”行上的按钮,但我获得的唯一数据(链接URL)却是“ bing.com”。

enter image description here

PHP

<?php
while ($rows = mysqli_fetch_array($result)){
$_SESSION["shorturl"]=$rows['shorturl];
?>
<tr>
<td><?php echo $rows['shorturl']; ?></td>
<td><?php echo $rows['phonenumber']?></td>
<td><button onclick="location.href = 'edit.php';">Edit</button><button onclick="location.href = 'show.php';">Show</button><button onclick="location.href = 'delete.php';">Delete</button></td>
</tr>
<?php }?>

2 个答案:

答案 0 :(得分:2)

您可以在编辑/显示/删除中将记录ID作为请求参数发送。按照以下步骤在代码中进行更改:

<?php
while ($rows = mysqli_fetch_array($result)){
$_SESSION["shorturl"]=$rows['shorturl];
?>
<tr>
<td><?php echo $rows['shorturl']; ?></td>
<td><?php echo $rows['phonenumber']?></td>
<td><button onclick="location.href = 'edit.php?id=' . echo $rows['id'] . ';">Edit</button><button onclick="location.href = 'show.php?id=' . echo $rows['id'] . ';">Show</button><button onclick="location.href = 'delete.php?id=' . echo $rows['id'] . ';">Delete</button></td>
</tr>
<?php }?>

在获取特定文件中的数据时,只需检查该文件上是否设置了id。如果设置了ID,请对记录ID中的操作进行操作,该记录已发送到请求参数中。

注意:因为会话将保留数据直到会话结束,所以会话无法解决您的问题。

答案 1 :(得分:1)

每次在此循环中运行时,您都将覆盖会话变量:

$_SESSION["shorturl"]=$rows['shorturl];

也许您可以尝试使用GET-Param代替

<button onclick="location.href = 'edit.php?shorturl=<?php echo urlencode($rows['shorturl']); ?>';">Edit</button>

然后按如下方式在edit.php网站上检索shorturl:

$shorturl = $_GET['shorturl'];