Почему я не могу получить доступ ко 2-му элементу в этом массиве, пока проблема с циклом - PullRequest
0 голосов
/ 27 мая 2019

У меня есть циклы 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. Если визуализация помогает: таблица

1 Ответ

0 голосов
/ 27 мая 2019

Вы должны получить значение 'edit' в пункте назначения с: $_GET['edit'], так как вы отправляете его как параметр в ссылке

<a href='edityourword.php?edit=$row[yourword]'> edit</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...