将MySQL结果转换为链接,然后使用POST重定向到下一页

时间:2013-10-27 02:52:55

标签: php mysql session post get

我正在尝试将我的数据库结果(用户)转换为可点击的链接,然后这些链接将显示有关select用户的更多信息。现在我使用$ _GET,但userID将显示在地址栏中。有没有办法可以发帖呢?

目前,我有:

//fetch and display the results in table
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
  $name = $row["name"];
  $id = $row["id"];

//prepare user for GET statement  
echo ' <div><a href=mylink.php?id="'.htmlspecialchars($row['id']).'">'.$row['name'].'</a></div> ';} 

显示:www.mylink.php?= id“12345”

我不想显示ID。那么纠正这个问题的最佳方法是什么?感谢

2 个答案:

答案 0 :(得分:0)

您可以用小格式替换所有超链接:

<form action='mylink.php' method=post>
  <input type=hidden value='$id'>
  <input class='post_link' type=submit value='$name'>
</form>

CSS可以帮助您重新设置链接等按钮:

.post_link {
    background-color: transparent;
    border: none;
    border-bottom: solid 1px blue;
    color: blue;
    display: inline;
    height: ...;
    etc
}

打开新标签页将无法再次显示,您将在悬停时看不到任何状态栏。

答案 1 :(得分:0)

您必须创建一个表单和一个脚本来发布您的数据。像这样:

<?php
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
  $name = $row["name"];
  $id = $row["id"];

//prepare user for GET statement  
echo "<div><a href=\"#\" onclick='javascript:postIt(".htmlspecialchars($row['id']).");'>".$row['name']."</a></div> ";
}

?>
<script>
 function postIt(value){
   document.forms[0].id.value = value;
   document.forms[0].submit();
 }
</script>
<form name="blah" action="mylink.php" method="post">
<input type="hidden" name="id">
</form>