如何将mysqli_fetch_assoc行传递给其他页面

时间:2016-05-09 17:18:27

标签: php mysql

我有一个从数据库获取信息并将其转换为行的页面:

<?php

session_start();
$cuser = $_SESSION["username"];

$getRequests = "SELECT * FROM friends WHERE user2='$cuser' AND accepted='0'";
$query = $conn->query($getRequests);

if ($query->num_rows >= 1) {
  while($row = mysqli_fetch_assoc($query)) {
    echo "<div id=fRequest>";
    echo "<a href='#'>".$row["user1"]."</a>";
    echo "</div><br>";
    echo "<a href='#'><button>Accept</button></a>", " ", "<a href='#'><button>Ignore</button></a>";
    echo "<br><br>";
  }
} else {
    echo "You don't have any friend request :(";

}

?>

如何将信息(从特定行)传递到另一个页面,然后运行sql脚本?

PS:我通常会从此查询中获得超过1个结果。

4 个答案:

答案 0 :(得分:3)

您可以将数据存储在会话中,并在另一页中使用它。

例如:

while ($row = mysqli_fetch_assoc($query)) {

   /* Other code */

  $_SESSION['user1'][] = $row["user1"];

}

然后,在您的其他页面中:

echo "<pre>";
print_r($_SESSION['user1']);        
echo "</pre>";

这将为您提供所有user1行的整个数组。

答案 1 :(得分:0)

在href中发送任何参数并通过get方法在另一个页面中获取它,并通过该参数的where子句运行查询,您将能够获取该信息

答案 2 :(得分:0)

如果您想通过$_POST超全球发送,可以执行以下操作:

<?php
   //your previous php code here that obtains the values
?>

<form action="otherpage.php" method="POST" id="myForm">
  <input type="hidden" name="v1" value="<?php echo /*value you want to pass*/?>">
  <input type="hidden" name="v2" value="<?php echo /*value you want to pass*/?>">
</form>

<script type="text/javascript">
    document.getElementById('myForm').submit(); // SUBMIT FORM
</script>

您可以根据需要创建任意数量的输入。如果输入量不同,这也可以使用php自动完成。

然后在页面otherpage.php上你会做类似的事情:

<?php
  $v1  = $_POST['v1'];
  $v2  = $_POST['v2'];
?>

但是,如果在绑定参数时使用PDO Prepared语句进行以下查询,则可以使用mysql_real_escape_string()来清理输入,然后在下面的线程中提到不需要转义:{{3 }}

答案 3 :(得分:0)

您可以将该特定行复制到临时表并生成md5 id。通过这种方式,您可以传递一个带有编码Get的链接,该链接仅指向该行,并且没有任何混乱

临时的

编辑我的意思是一个表,在访问它之后删除自己的行。或过了一段时间。