Я запихнул результат цикла foreach в массив, после чего смог разделить массив на строки. Но возникла загвоздка. С каждым новым оборотом общего цикла foreach в массиве $weatherAll происходит не замена данных, а их добавление. То-есть по факту, снежный ком нарастает и я получаю данные подходящие под данный id и все предыдущие.
Как можно решить эту проблему? Есть варианты сбросить foreach?
Логика очень многослойная и я уже немного не понимаю, что можно сделать. Боюсь, что в данном случае штудирование мануалов не поможет. (Добавление)
Кажется, я всё же понял логику и смог обнулить результат добавив $weatherAll= ""; перед самим циклом.
Для выполнения некоторых задумок приходится изменять/дописывать php код движка. К сожалению, CMS не слишком поддаётся изменениям в виду деревянности кода.
Собственно структура следующая - есть фахл конфигурации php и шаблон. Из php файла в шаблон передаются данные, выходящие через foreach.
В стандартном варианте выборка делается из одной таблицы БД и цыклично выводится.
Мне нужно немного изменить идею и выводить данные не из одной таблицы БД, а из двух. Выбрать значения из 1-ой таблицы БД и вывести значения из 2-ой таблицы, где id строк равны значениям из 1-ой.
Я написал код вывода значений из 1-ой таблицы. На данном этапе пытаюсь "прикрепить" к ним значения из 2-ой.
Как видно, мне удалось вытащить необходимые данные из 2-ой таблицы через id. Вот тут я и столкнулся с проблемой. $topics это многомерный массив имеющий следующую структуру:
Выводить в шаблон можно лишь одну переменную. Поэтому возник вопрос: Как пять элементов массива вывести в одну переменную при этом имея возможность форматировать текст?
Решение, которое мне пришло в голову, выбрать каждый поочерёдно элемент массива topics по очереди, отформатировать и запихнуть в единую переменную и переменную уже передать в шаблон. К сожалению я не знаю, как подобное осуществить и куда рыть.
А, сорри, всё разобрался. Говорю же, голова кипит)))
У меня в поиск вбивается:
Перепутанные, 3 сезон
Ну и запрос вешается:
OR post_subject LIKE '% 3 сезон%' AND forum_id = '16'
Пробел не ищет, надо пробелы после знаков препинания удалить, регулярными да?
Здравствуйте.
Не знаю, к вечеру голова загудела, или что... Но не могу решить задачу (гогль тоже не помог).
В базе данных в столбце x записи:
3 сезон: 1-7 серия из 21 / 2014 / WEB-DLRip (720p)
3 сезон: 1-7 серия из 21 / 2014 / WEB-DLRip
2 сезон: 1-21 серия из 21 / 2013 / WEB-DLRip (720p)
2 сезон: 1-21 серия из 21 / 2013 / WEB-DLRip
В поиск вбиваю:
Название, 3 сезон, трам трам трам
Мой скрипт разделяет поисковой запрос по запятым и ищет в базе.
То-есть он ищет:
SELECT * FROM phpbb_posts WHERE forum_id = '$forum_id' AND (CONVERT( `post_subject` USING utf8 ) LIKE '%Название%' $forun_id_sql AND forum_id = '$forum_id' OR (CONVERT( `post_subject` USING utf8 ) LIKE '%3 сезон%' $forun_id_sql AND forum_id = '$forum_id' OR (CONVERT( `post_subject` USING utf8 ) LIKE '%Название%' $forun_id_sql AND forum_id = 'трам трам трам')
Мне нужно, чтобы он находил только:
3 сезон: 1-7 серия из 21 / 2014 / WEB-DLRip (720p)
3 сезон: 1-7 серия из 21 / 2014 / WEB-DLRip
в поиск ведь вбили "3 сезон"
А он находит все 4 записи потому, что во всех записях присутствует цифра 3.