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

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

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

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

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

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

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");

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

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

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

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

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

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

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

Ну все из-за отсутствия правильной информации в интернете, сейчас книжек накупил, их читаю, да с вами тут посижу, авось поумнею.

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

32. Используйте кэширование (Memcached) настолько, насколько это возможно.
 
Это чудовищный текст, автор которого - идиот.
В том то и проблема, что половина информации такого рода, и гадай кто прав а кто нет, только с помощью проб и ошибок(
Даже курсы по php у нас слабые, прочитал книгу любую и пошел преподавать
 
Устроиться в хорошую контору, если уровень не позволяет, то работать за еду, пока уровень не подрастет))

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

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

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