В вашем цикле вы используете mysqli_fetch_array
, который возвращает массив с каждым элементом в этом массиве, содержащим значение поля.
То, что вы хотите, это mysqli_fetch_assoc
вместо этого, он вернет хеш, который вы можете затем использовать так, как используете его сейчас.
Другое дело, что вам не нужно иметь 2 цикла для запросов к базе данных.И, пожалуйста, сделайте отступ в своем коде, это затруднит его чтение для вас и всех остальных.
Вот обновленная / очищенная версия вашего кода.Это было проверено, вы можете найти пример кода с инструкциями для запуска на моем Github здесь .
<?php
$con = mysqli_connect("localhost", "root", "", "task");
$results = mysqli_query($con, "SELECT * FROM note");
while ($row = mysqli_fetch_assoc($results)) {
$id = $row['id'];
echo ' ';
echo '<button class="call_modal" data-id="' . $id . '" style="cursor:pointer;">'. $row['title'] . '</button>';
?>
<div class="note" data-id="<?= $row['id'] ?>">
<div class="modal">
<div class="modal_close close"></div>
<div class="modal_main">
<?php
echo '<br /><br />';
echo '<div class="padding">' . $row['title'];
echo '<br /><br /><br /><br />';
echo $row['note'];
echo '</div>'
?>
</div>
</div>
</div>
</div>
<?php
}
?>
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}