- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
И снова здравствуйте! Может тема баян, но я честно искал и не смог найти адекватного решения. Думаю, что умельцы точно знают как делать правильно.
Суть:
Есть в одном файле такая вещь:
Как видно, различия только в двух условиях. Как сделать так, чтобы был только
а дальше уже задаем условие iddeck и cardclass?
knak, а зачем?
То, что сейчас лучше, чем сначала получить все строки, где value != '0', а затем уже с полученного найти строки по iddeck и cardclass.
например
SELECT * FROM decks WHERE value != '0'
AND
(
(iddeck='25' AND cardclass='7')
OR
(iddeck='26' AND cardclass='0')
)
Gerga, у меня небольшая БД, но таких запросов у меня получается слишком много. На страницу штук 10. И страница не одна такая. Мне кажется это не очень эффективно, да и в случае корректировки приходится перелопачивать огромную кучу почти одинаковых кусков кода.
http://www.mysql.ru/docs/man/UNION.html
хм... пришла в голову идея...
делаем раз - создаем select.php
делаем два - на самой странице: page.php
Нагрузку не снимет, но хоть править меньше... чё я раньше об этом не подумал...!?
10 запросов на страницу на маленькой БД без джойнов - вполне приемлемо
http://www.mysql.ru/docs/man/UNION.html
Спасибо! Но это немного не то... Это ничем не проще текущего кода. Так же куча куч SELECTов...
http://www.mysql.ru/docs/man/UNION.html
неэкономно
согласно explain
в вашем случае будет произведено 2 прохода
1 PRIMARY table Using where
2 UNION table Using where
UNION RESULT Using temporary
а в случае селекта будет 1 запрос
например
SELECT * FROM decks WHERE value != '0'
AND
(
(iddeck='25' AND cardclass='7')
OR
(iddeck='26' AND cardclass='0')
)
не совсем понял как мне потом эти данные вывести на страницу, чтобы iddeck 25 и 26 были раздельны
Создайте функцию, которая принимает изменяющиеся параметры и формирует запрос т.е. как - то так:
дальше просто вызвывайте эту функцию с нужными аргументами, это если вы хотите сделать более стройный код и
потом эти данные вывести на страницу, чтобы iddeck 25 и 26 были раздельны
но если хотите прооптимизировать, то делайте выборку всех нужных элементов страницы в словарь где ключи будут id и cardclass, тогда можно вытащить одним запросом ( если изменяющиеся параметры конечно позволят )