Здравствуйте!
В поле 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;
}
Подскажите, в чем проблема. Выводятся сезоны по несколько раз.
По умолчанию у fetch_array результат $resulttype = MYSQLI_BOTH, то есть результирующий набор будет содержать массив, включающий атрибуты вариантов MYSQLI_NUM и MYSQLI_ASSOC.
Решение проблемы: выбрать один из вариантов и добавить его в параметр. Пример:
....->fetch_array(MYSQLI_ASSOC);
Ну и делать запрос к БД в цикле - это кошмар и ужас. Не надо так. Надо выбрать данные и уже с ними работать как нужно, сделав, например, доп. запрос к БД с применением IN. Или же использовать JOIN и т.д.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости