为什么在循环问题中无法访问此数组中的第二个元素

时间:2019-05-27 18:07:15

标签: php mysql database if-statement while-loop

我有这个while循环和一个嵌入式if语句,它将超链接放置在适当的表单元格中。当我按下edit时,URL反映了我想看到的内容(这是要编辑的当前单词),但是假定要填充的单词的文本字段只是数据库表中的第一个条目。

我已经尝试过Using PHP variables inside HTML tags? 我认为这是行不通的,因为我的是一个内部链接,而不是另一个网站。

我也曾尝试将$row['yourword']存储在另一个变量中,因此,当while循环遇到if语句将编辑内容放在正确的单元格中时,它也会保存正确的yourword,但只会导致错误。

这是while循环

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['uname'] . "</td>";
echo "<td>" . $row['clickrate'] . "</td>";
if($row['uname'] == $logedInUsername)
{
    echo "<td>" . $row['yourword'] . "<a href='edityourword.php?edit=$row[yourword]'> edit</a></td>";
}
else
{
    echo "<td>" . $row['yourword'] . "</td>";
}
echo "</tr>";
}
echo "</table>";
?>

这是目的地

<form action="edityourword.php" method="POST">
    word: <input type="text" name="newName" value="<?php echo $row[yourword]; ?>"><br><br>
    <input type="submit" value="Update">    
</form>

预期结果应该是第二个单词显示在下一页的文本字段中,而不是每次都显示第一个单词,但仍然可以编辑该单词,但是如果每次输入错误,文本字段只会被填充一个错误的单词不是用户,而是桌子上的第一个用户。

PS。如果可视化有帮助:table

1 个答案:

答案 0 :(得分:0)

您应该在目标位置使用$_GET['edit']来获取'edit'的值,因为您是在链接

中将其作为参数发送的
<a href='edityourword.php?edit=$row[yourword]'> edit</a>