Вывод сериалов php mysqli

220
06 января 2018, 04:04

Здравствуйте!

В поле xfields имеется название сериала. Мне нужно вывести список сериалов, исходя из названия сериала в поле xfields.

Движок DLE.

Код:

$query = "SELECT * FROM `" . PREFIX . "_post`";
$result = $db->query($query);
$i=0;
while ($row = $result->fetch_array()) {
    $short_name_explode = explode('|', $row['xfields']);
    $short_name_result = $short_name_explode[1];
    $query2 = "SELECT * FROM `" . PREFIX . "_post` WHERE `title` LIKE '%$short_name_result%' LIMIT 1";
    $result2 = $db->query($query2);
    while ($row2 = $result2->fetch_array()) {
        echo $row2['title'] . '<br><br>';
    }

    $i++;
    echo $i;
}

Подскажите, в чем проблема. Выводятся сезоны по несколько раз.

Answer 1

По умолчанию у fetch_array результат $resulttype = MYSQLI_BOTH, то есть результирующий набор будет содержать массив, включающий атрибуты вариантов MYSQLI_NUM и MYSQLI_ASSOC.

Решение проблемы: выбрать один из вариантов и добавить его в параметр. Пример:

....->fetch_array(MYSQLI_ASSOC);

Ну и делать запрос к БД в цикле - это кошмар и ужас. Не надо так. Надо выбрать данные и уже с ними работать как нужно, сделав, например, доп. запрос к БД с применением IN. Или же использовать JOIN и т.д.

READ ALSO
Возможно ли такое кеширование?

Возможно ли такое кеширование?

Как можно кешировать изображения от тизерных сетей? Например можно ли хотя-бы спарсить их в отдельную папку, а потом оттуда и выдавать?!

222
Скрипт для отправки файлов на облако

Скрипт для отправки файлов на облако

ПриветСейчас занимаюсь проектом, в котором можно просматривать видео (типа ютуба)

288
Генерировать меню любой вложенности yii2

Генерировать меню любой вложенности yii2

Всем доброго времени сутокНачал осваивать yii2, есть задача сгенерировать меню в виде дерева и заполнить его произвольными данными

228
Выводит один массив вместо двух

Выводит один массив вместо двух

Через pdo вывожу записи из бд mysql проблема такая из бд должно выйти 2 записи а значит 2 массива но у меня 1 массив вот код

254