Конструкция IF

Beavis

Banned
И еще, раз уж про кэш заговорил, имеет ли смысл использовать сжатие gzip (скажем gzcompress) если файл максимум весит 10Кб

Не загрузит ли процесс распаковки больше ресурсов, чем просто открыть и прочитать файл такого размера?
А есть хоть одна причина по которой ты считаешь что это нужно?
 

Фанат

oncle terrible
Команда форума
Непонятно, откуда возьмутся 20 запросов.
Если эти 20 товаров уже соответствуют критериям поиска, то зачем искать что-то ещё?
Если не соответствуют - то зачем их выводить вообще?
 

Фанат

oncle terrible
Команда форума
Судя по последним ответам афтара, он изобретает какой-то паровой велосипед на треугольных колёсах, исходя из принципа, "а не попробовать ли такую штуку".
В этом случае квалифицированная помощь ему не требуется.
Квалифицированно можно помочь только тому, кто знает, чего хочет, и выбирает инструменты осмысленно.

Учитывая, что изначальный вопрос был на знание элементарного синтаксиса, обсуждение деталей реализации будет иметь смысл только если автор изложит, что у него за акции, для чего они, откуда берутся и прочие детали.
В противном случае любые ответы будут только ограничивать свободный полёт фантазии автора
 

Jon

Новичок
Судя по последним ответам афтара, он изобретает какой-то паровой велосипед на треугольных колёсах, исходя из принципа, "а не попробовать ли такую штуку".
В этом случае квалифицированная помощь ему не требуется.
Квалифицированно можно помочь только тому, кто знает, чего хочет, и выбирает инструменты осмысленно.

Учитывая, что изначальный вопрос был на знание элементарного синтаксиса, обсуждение деталей реализации будет иметь смысл только если автор изложит, что у него за акции, для чего они, откуда берутся и прочие детали.
В противном случае любые ответы будут только ограничивать свободный полёт фантазии автора
Ну вы не правы, я прошу совету как лучше организовать. Изложу все что есть.

Таблица с акциями (не связанная с товаром)

PHP:
CREATE TABLE `actions` (
	`actions_id` INT(11) NOT NULL AUTO_INCREMENT,
	`publication` INT(1) NOT NULL DEFAULT '1',
	`cat_id` INT(11) NOT NULL DEFAULT '0',
	`podcat_id` INT(11) NOT NULL DEFAULT '0',
	`brand_id` INT(11) NOT NULL DEFAULT '0',
	`good_id` INT(11) NOT NULL DEFAULT '0',
	`pars_cat_id` INT(11) NOT NULL DEFAULT '0',
	`present_all` TINYINT(4) NOT NULL DEFAULT '0',
	`present_good_id` INT(11) NOT NULL DEFAULT '0',
	`date` INT(10) NOT NULL,
	`title` VARCHAR(100) NOT NULL,
	`short_story` TEXT NOT NULL,
	`image` VARCHAR(20) NOT NULL,
	`main` INT(1) NOT NULL DEFAULT '0',
	`goods_look` INT(1) NOT NULL DEFAULT '1',
	`price_min` INT(6) NOT NULL,
	`price_max` INT(6) NOT NULL,
	`discount` INT(1) NOT NULL,
	PRIMARY KEY (`actions_id`)
)
Примеры акций (принскрин)

Поиск товара по акциям раньше был такой (для каждого товара)
PHP:
$list = $this->sql_mysql_query("SELECT * FROM `actions`
                                               WHERE goods_look = 1 AND publication = 1 " . ($setting['discount']==0 ? "" : "AND `discount`=1") . "
                                                            AND price_min <= ".$setting['price']."
                                                            AND (price_max=0 OR ".$setting['price']." < price_max)
                                                            AND (cat_id=0 OR (cat_id=".$setting['cat_id']."))
                                                            AND (podcat_id=0 OR (podcat_id=".$setting['podcat_id']."))
                                                            AND (brand_id=0 OR (brand_id=".$setting['brand_id']."))
                                                            ".($type=='list'?' AND actions_id!=9 ':'')."
                                                 ORDER BY `date` DESC");
Данный способ мне не понравился из-за большого кол-ва запросов, т.к. цена товара разная и он соответственно проверяет все по цене.
 

Фанат

oncle terrible
Команда форума
а как товары с акциями-то связаны?
В принципе, если акций всего пара десятков, то разницы нет - что 20 запросов, что 1 запрос и цикл на 20 итераций. Никаких кэшей, никаких гзипов не нужно
 

Jon

Новичок
а как товары с акциями-то связаны?
В принципе, если акций всего пара десятков, то разницы нет - что 20 запросов, что 1 запрос и цикл на 20 итераций. Никаких кэшей, никаких гзипов не нужно
В том то и дело, что связки акция-товар нету, ищу акцию по параметрам товара. Меня пугает что на странице списка товаров, скажем 20 товаров, это лишних 20 запросов к базе. Если 1000 в день минимум то это 20 000 лишних запросов.
 

Фанат

oncle terrible
Команда форума
для 1000 просмотров в день никакого кэширования не нужно
для таблицы размером в сотни строк никакого кэширования не нужно
 

Jon

Новичок
для 1000 просмотров в день никакого кэширования не нужно
для таблицы размером в сотни строк никакого кэширования не нужно
Спасибо, тогда лучше в базе все искать буду. А если нагрузка до 10 000 в день (было такое когда на групоне акции делали)?
 

Фанат

oncle terrible
Команда форума
в дне у нас 3600*12 = 43200 секунд. следовательно, на обслуживание одного просмотра приходится 4 секунды.
Любой запрос к таблице в несколько сот записей выполняется, ну допустим, 0,01 секунды. То есть, мы сможем обслужить 400 запросов. а не 20.
 

Jon

Новичок
в дне у нас 3600*12 = 43200 секунд. следовательно, на обслуживание одного просмотра приходится 4 секунды.
Любой запрос к таблице в несколько сот записей выполняется, ну допустим, 0,01 секунды. То есть, мы сможем обслужить 400 запросов. а не 20.
Спасибо.
 

Фанат

oncle terrible
Команда форума
В общем, на первой странице был ответ от Капитана Очевидность, который один из модераторов скрыл. Я его сейчас открыл, поскольку выяснилось, что проблема не принципиальная.
Непонятно только, почему ты сам не мог написать логику в пхп так же как в мускуле.
 

Jon

Новичок
В общем, на первой странице был ответ от Капитана Очевидность, который один из модераторов скрыл. Я его сейчас открыл, поскольку выяснилось, что проблема не принципиальная.
Непонятно только, почему ты сам не мог написать логику в пхп так же как в мускуле.
да в начале и было все через &&, просто давно гдето читал (и засело) что если много && то лучше использовать IF несколько, вот и заклинело(
 

Фанат

oncle terrible
Команда форума
ОМГ.
Я бы хотел взглянуть на текст, в котором ты это прочел.

Но похоже, самая большая твоя проблема - это количество информации в голове. Причём информации, находящейся в свободном полёте, не привязанной ни к каким реальным объектам.
И в итоге получается примерно такая ситуация
- привет. что делаешь?
- вот, в поход собрался, руки мою
- ???
- ну как же! Идти далеко, устану. А я читал, что на грязных руках микробов - миллионы! Я их вымою, и идти сразу легче станет.
 
  • Like
Реакции: Gas

Jon

Новичок
ОМГ.
Я бы хотел взглянуть на текст, в котором ты это прочел.

Но похоже, самая большая твоя проблема - это количество информации в голове. Причём информации, находящейся в свободном полёте, не привязанной ни к каким реальным объектам.
И в итоге получается примерно такая ситуация
- привет. что делаешь?
- вот, в поход собрался, руки мою
- ???
- ну как же! Идти далеко, устану. А я читал, что на грязных руках микробов - миллионы! Я их вымою, и идти сразу легче станет.
Ну все из-за отсутствия правильной информации в интернете, сейчас книжек накупил, их читаю, да с вами тут посижу, авось поумнею.

Даже читая это http://www.pvsm.ru/php-2/11473 автор на хабре (http://habrahabr.ru/post/147859/) закрыл пост.

32. Используйте кэширование (Memcached) настолько, насколько это возможно.
 

Jon

Новичок
Это чудовищный текст, автор которого - идиот.
В том то и проблема, что половина информации такого рода, и гадай кто прав а кто нет, только с помощью проб и ошибок(
Даже курсы по php у нас слабые, прочитал книгу любую и пошел преподавать
 

Активист

Активист
Команда форума
Устроиться в хорошую контору, если уровень не позволяет, то работать за еду, пока уровень не подрастет))

Лучшее обучение это практика и хороший коллектив
 

Jon

Новичок
Устроиться в хорошую контору, если уровень не позволяет, то работать за еду, пока уровень не подрастет))

Лучшее обучение это практика и хороший коллектив
Я конечно не гений программинга, но и не дурачек) У каждой задачи есть несколько вариантов решения. Может я выбираю не самый правильный но я ее решаю)
В компании работаю, по JS подтянулся нормально :)

Порой хочется задать простейший вопрос тут, но зная, что все считают себя самыми умными и начинают тролить, даже желание пропадает. И почему то не понимают, что все когда то учились.
 
Сверху