У меня есть циклы while и встроенный оператор if, который помещает гиперссылку в соответствующую ячейку таблицы. Когда я нажимаю «Изменить», URL-адрес отражает то, что я хочу видеть (текущее слово, которое нужно отредактировать), но текстовое поле, которое должно заполнить слово, является только первой записью в таблице базы данных.
Я пытался Использовать переменные PHP внутри тегов HTML?
который, я думаю, не работает, потому что моя внутренняя ссылка, а не другой веб-сайт.
Я также пытался сохранить $row['yourword']
в другой переменной, поэтому, когда цикл while встречает оператор if, который помещает правку в нужную ячейку, он также сохраняет правильное слово, но это просто приводит к ошибке.
Вот цикл 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. Если визуализация помогает: таблица