如何在php中回显行值?

如何在php中回显行值?,php,mysql,Php,Mysql,我试图回显每行的值。 我试过这个。。。而($row=mysqli\u fetch\u assoc){…} 但它每次在循环的特定部分打印行的最后一个值。 此外,我创建了一个数组,并在while循环中分配了值,但它不起作用。 你能帮帮我吗 $query= mysqli_query($con, "SELECT * FROM db WHERE user='$user' AND deleted='no' ORDER BY id DESC LIMIT 6"); while ($row = mysqli_f

我试图回显每行的值。 我试过这个。。。而($row=mysqli\u fetch\u assoc){…} 但它每次在循环的特定部分打印行的最后一个值。 此外,我创建了一个数组,并在while循环中分配了值,但它不起作用。 你能帮帮我吗

$query= mysqli_query($con, "SELECT * FROM db WHERE user='$user' AND deleted='no' ORDER BY id DESC LIMIT 6");

while ($row = mysqli_fetch_assoc($query)) {
$link="index.php?id=". $row['id']; //wrong value

if ($row["user"] == 'User 1') {

$id=$row['id'];
$tags=$row['tags'];
$token = strtok($tags, ",");



echo "<div class='thisdiv'>
<a href='../games/avery/index.php?id=$id'><img src='../images/games/Preview.png ' ></a><br><p class='font-size-bold'>Tags</p>"; //correct $id
$query=mysqli_query($con,“从数据库中选择*,其中用户=“$user”和删除的订单的id DESC LIMIT 6”);
while($row=mysqli\u fetch\u assoc($query)){
$link=“index.php?id=”.$row['id'];//值错误
如果($row[“user”]==“user 1”){
$id=$row['id'];
$tags=$row['tags'];
$token=strtok($tags,“,”);
回声“

标记

“;//更正$id
如果您的代码允许SQL注入,请使用Statement排除以下可能的错误:

$query= $con->prepare("SELECT * FROM db WHERE user=? AND deleted=? ORDER BY id DESC LIMIT 6");
$no='no';
$query->bind_param('ss',$user,$no);
$query->execute();
$result=$query->get_result();
while ($row = $result->fetch_assoc()) {

if ($row["user"] == 'User 1') {

$id=$row['id'];
$tags=$row['tags'];
$token = strtok($tags, ",");



echo "<div class='thisdiv'><a href='../games/avery/index.php?id=$id'><img src='../images/games/Preview.png ' ></a><br><p class='font-size-bold'>Tags</p>"; //correct $id
    }
}
$query=$con->prepare(“从数据库中选择*,其中user=?和deleted=?按id描述订单限制6”);
$no='no';
$query->bind_参数('ss',$user,$no);
$query->execute();
$result=$query->get_result();
而($row=$result->fetch_assoc()){
如果($row[“user”]==“user 1”){
$id=$row['id'];
$tags=$row['tags'];
$token=strtok($tags,“,”);
echo“

标记

”;//更正$id } }
您的代码非常有限,但会尝试为您分解代码

因此,首先,您的查询是有效的。并且您从表中获得了自您在
DESC
中将
限制为6以来的最后6个结果

您还可以使用while循环来循环获取的结果,因此您的问题更符合逻辑

while的第一次迭代将把值设置为变量
$link
,如下所示:

$link="index.php?id=". $row['id']; 
这将在每次迭代(6次)时始终执行,实际上您的变量将被覆盖,因此在最后一次迭代中,
$link
将具有最后一个元素的id

在代码中,然后进行检查:

    if ($row["user"] == 'User 1') {

    $id=$row['id'];
    $tags=$row['tags'];
    $token = strtok($tags, ",");

    echo "<a href='../games/avery/index.php?id=$id'><img src='../images/games/Preview.png ' ></a><br><p class='font-size-bold'>Tags</p>"; 

} // mind the closing bracket, you echo your validated value
if($row[“user”]=“user 1”){
$id=$row['id'];
$tags=$row['tags'];
$token=strtok($tags,“,”);
回显“

标记”

”; }//注意右括号,您将回显已验证的值

这就是我认为您弄错的地方。这个回音应该在您的if检查中,但您的变量链接也应该在那里。

它将回音所有数据,但可能是您在循环中显示的最后一个数据或替换数据。“您能帮我吗?”-与您目前提供的内容不符。您在此处实际想要实现的内容非常不清楚,或者确切地说是错误的。请阅读,然后尝试更好地解释问题。请提供查询字段我正在尝试创建链接(以文本值形式存储在db中)。但问题是存储的文本始终具有行的最后一个值。