- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ребята, прошу вашей помощи, тема как то подмалась но так и не пришли к выводу, вообщем такой код на сайте встречается 11 раз, тоесть 11 боков с измененным $file="cache/tmp/news.txt"; и catid = 1. Дело в том что я хочу как то упростить его по выборке и сделать один блок, с одной выборкой, Прошу совета как можно реализовать такое, с пхп и мускулом не ас.
Сам бок:
KosoyRoman добавил 19.05.2008 в 16:58
Прошу прощения, блок отображает последнюю новость и еще + 5 сылок на последнни новости за исключением последней
Ребята, прошу вашей помощи, тема как то подмалась но так и не пришли к выводу, вообщем такой код на сайте встречается 11 раз, тоесть 11 боков с измененным $file="cache/tmp/news.txt"; и catid = 1. Дело в том что я хочу как то упростить его по выборке и сделать один блок, с одной выборкой, Прошу совета как можно реализовать такое, с пхп и мускулом не ас.
без AS никак
создайте функцию и передавайте параметры $file и $catid
хотя при каждом вызове по 2 запроса к бд получается мин 22 запроса. Может как-то проще можно решить, если б знать задачу и все условия
1. что такое "бок"?
2. судя по всему это код функции (globals, return) и в запросе к базе в качестве таблицы базы стоит переменная $basepref, которая при каждом вызове м.б разная. Если таблицы разные, то сэкономить на запросах не удастся.
вопрос некоректный, т.к. код некорректный (неполный).
Ага, помню я эту тему, когда из ТС вытаскивали подробности по 1 килобайту в сутки:)
ТС, давно бы заплатили 10 баксов какому-нибудь фрилансеру и он бы сделал все в лучшем виде.
Если таблицы разные, то сэкономить на запросах не удастся.
ничего подобного ещё как удастся, есть нормальное рабочее решение 1 запросом сделать нужную выборку и при этом ни напрягать ни мускульный серв ни хост.. но ТС видать правильных путей не ищет и хочет как то (прошу прощение) через попу все сделать..
СиДжей добавил 19.05.2008 в 21:07
если бы DenIT не кинул линк на предыдущий трейд.. то можно было опять кашу наворотить, научитесь правильно тему раскрывать!
данная задача решается двумя путями
1. оператором AS
2. Проектирование базы данных
На сколько я понял 1 вариант не устраивает Вас, остается второй вариант.
Создайте доп. таблицу:
id | id_catalog | id_news | data
и при добавление новости в эту таблицу вписывайте id новости и id каталога после чего удаляете из таблицы старую новость, собственно всё. потом 1 запросом (при помощи связки) делаем выборку новостей.
ничего подобного ещё как удастся, есть нормальное рабочее решение 1 запросом сделать нужную выборку и при этом ни напрягать ни мускульный серв ни хост..
Кстати не факт, как раз недавно решал схожую задачу... Совесть (и данные, полученные при тестировании) не позволили дергать одним запросом 10-20 таблиц, поэтому набросал 2 функции, работающие по второму варианту, через таблицу-связку.
Но в данном топике рассматривается исключительно вариант "упрощения" кода, а не производительности... Т.к. видимо автор замучался по 11 раз править жестко вшитый html-код, если необходимо чуть-чуть поправить вывод:) Поэтому самый оптимальный вариант, ИМХО - через функцию.
ТС, читайте: http://ru2.php.net/manual/ru/language.functions.php
Но в данном топике рассматривается исключительно вариант "упрощения" кода, а не производительности...
В том то и дело что ТС пишет о производительности, в старой ветке он указывает на дергонье мускула) я надеюсь он 20 раз только дергает мускул.. хотя возможно он 20 раз при этом конектится и дисконектится 😂 в этом мири все возможно )))
Нет, мне нужно именно производительность, структура таблицы простая, (newsid catid text). Всё из одной таблици
KosoyRoman добавил 20.05.2008 в 11:38
$inqnl = $db->query("SELECT * FROM ".$basepref."_news WHERE catid IN (".implode(",",$ArrayWithID).") LIMIT 0,1");
А как можно при таком раскладе отсеять по catid полученые данные?
А как можно при таком раскладе отсеять по catid полученые данные?
код ваще бредовый, абасобенно рождение массива с тримя ID и LIMIT 0, 1 ))))
Мой Вам совет, научитесь расскрывать суть вопросов, а то читаешь их и нифига не понятно что хотел узнать автор
/ru/forum/comment/2889348
$inqnl = $db->query("SELECT * FROM ".$basepref."_news WHERE catid IN (".implode(",",$ArrayWithID).") LIMIT 0,30");
ссори забыл лимит заменить