php - 根据ID点击时在网页中显示不同的数据

标签 php mysql database post get

我试图在根据故事 ID 单击链接时显示用户数据。但是,该页面每次都显示数据库中一行的相同数据(网络链接显示不同的 ID 'php?story_id=10' 等等,但它仍然显示相同的数据。

我有这个功能:

function displayStories(){
include('conn/conn.php');

$queryread = "SELECT Users.ID, Users.FirstName, Stories.Age, Stories.Story, 
Stories.Image FROM `Stories` INNER JOIN `Users` ON Users.ID = Stories.User_ID";


$result = mysqli_query($conn, $queryread) or die(mysqli_error($conn));

if(mysqli_num_rows($result) > 0 ){

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

$name = $row["FirstName"];
$idData = $row["ID"];
$age = $row["Age"];
$story = $row["Story"];
$limit = mb_strimwidth($story, 0, 300, "...");


echo 


"<div class='stories'>
          <a href='storyDis.php?story_id=$idData'>
          <h5><b>$name</b></h5></a>
          <p><b>$age years old</b></p>
          <p>$limit</p>

</div>


";

}
}
mysqli_close($conn); 
}

这是查询以显示数据(在 HTML 中调用的变量):

include('conn/conn.php');

$str = htmlentities($_GET["story_id"]);

$query = "SELECT * "
           . "FROM Stories "
           . "WHERE ID='$str'";

$result = mysqli_query($conn, $query) or die(mysqli_error($conn));

$queryread = "SELECT Users.FirstName, Stories.Age, Stories.Story, 
Stories.Image FROM `Stories` INNER JOIN `Users` ON Users.ID = Stories.User_ID";


$result1 = mysqli_query($conn, $queryread) or die(mysqli_error($conn));

if(mysqli_num_rows($result1) > 0 ){

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

        $name = $row["FirstName"];
        $age = $row["Age"];
        $story = $row["Story"];
        $image = $row["Image"];

}
}
mysqli_close($conn); 
?>

编辑

当我只需要一个时有两个查询。

$str = htmlentities($_GET["story_id"]);


$queryread = "SELECT Stories.ID, Users.FirstName, Stories.Age, Stories.Story, Stories.Image FROM `Stories` INNER JOIN `Users` ON Users.ID = Stories.User_ID 
WHERE Stories.ID='$str'";


$result1 = mysqli_query($conn, $queryread) or die(mysqli_error($conn));

if(mysqli_num_rows($result1) > 0 ){

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

        $name = $row["FirstName"];
        $age = $row["Age"];
        $story = $row["Story"];
        $image = $row["Image"];

}
}
mysqli_close($conn); 
?>       

最佳答案

您正在从 (result1) 而不是 (result) 读取数据。

改变这个 while($row = mysqli_fetch_assoc($result1)){

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

然后它就可以正常工作了。

关于php - 根据ID点击时在网页中显示不同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54776901/

相关文章:

php - 我如何根据该表的结果求和/分组

php - 在 php 中创建 zip 文件并在添加之前重命名每个文件

Mysql 3方式连接错误

php - 如何使用 PHP 显示 MySQL 数据库中的随机图像和文本

node.js - 获取 CoreMongooseArray 而不是普通数组

php - 你如何在 PHP 中使用内存缓存

javascript - 如何通过ajax将表格单元格值传递给php

mysql - MariaDB(或MySQL)是否需要SSL证书以确保安全

javascript - Sequelize 填充关系查询任一表

php - 对数组行编号