Заполнил столбец таблицы данными массива, но ничего не выводится

Есть такой вот массив:

$books=array('Detective Comics № 27', 'Action Comics #1', 'All Star Comics #8', 'Showcase №4', 'All-American Comics #16', 'More Fun Comics # 73');

Вот такой цикл для заполнения столбца данными массива я использовал:

$i=0;
do {$episode=$books[$i];
    $i++;
    $conn->query("UPDATE `heroes` SET `the_first_appear_work`= '$episode' WHERE `id` = $i"); // для этого на единицу переменная и увеличивается, ведь нулевого id в таблице нет
}
while ($row=$result->fetch_assoc());

Цикл сработал - таблица базы данных заполнилась!

Выборка для вывода у меня происходит вот так:

$result = $conn->query("SELECT * FROM `heroes`");

Выводятся данные из таблицы базы данных на страницу у меня вот так:

while ($row=$result->fetch_assoc()) { ?>
    <p> <b>ID: </b> <?php echo $row['id']?> 
    Name: <?php echo $row['name']?>
    <?php if (!(empty($row['the_real_name']))) {echo "The real name: "; echo $row['the_real_name'];}?><br>
    The artwork where they first appear: <?php echo $row['the_first_appear_work']?>
    Year of the first appear:  <?php echo $row['the_first_appear']?></p>
    <a href=greeting.php?name=<?php echo $row['name'] ?>> Нажмите, чтобы поприветствовать героя </a><hr> // вот с этим другая проблема
<?php } 

Сделал через параграфы, а не echo, чтобы стилизовывать. Да, условие взял отсюда. Ведь когда строки кончаются, то возвращается ложь и цикл, работающий на истине, останавливается.

Так вот столбец таблицы-то заполнился, а данные из таблицы - не выводятся вообще никакие и ошибок нет. Комментирую цикл заполнения - выводятся, в том числе с новыми данными массива, всё хорошо без цикла.

Вопрос: как сделать нормальный цикл, с каким нормальным условием, чтоб работал, и данные из базы на страницу выводились?

Следующий вопрос: вот там ссылка с методом Get передаёт данные, обрезав после пробела. Как сделать, чтобы она передавала данные с пробелом целиком?


Ответы (0 шт):