• Как оптимизировать SQL запрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Запустите EXPLAIN запроса и посмотрите, на чём он тормозит. Из общих рекомендаций:
    - cменить тип поля `products`.`archive` с текстового на BOOLEAN или TINYINT(1);
    - проверить наличие индексов по все полям, участвующим в ON, WHERE, GROUP BY и ORDER BY.
    Ответ написан
    Комментировать
  • Почему так работает, а так нет?

    Denormalization
    @Denormalization
    С PHP.NET:

    Связывает PHP переменную с именованным или неименованным параметром подготавливаемого SQL запроса. В отличие от PDOStatement::bindValue(), переменная привязывается по ссылке, и ее значение будет вычисляться во время вызова PDOStatement::execute().


    Во втором случае в момент, когда происходит связывание переменная уже не существует. Попробуйте использовать bindValue.
    Ответ написан
    Комментировать
  • Как повысить производительность хранимых функций MYSQL?

    @whats Автор вопроса
    Вся ветка обсуждения и решение проблемы.
    sqlinfo.ru/forum/viewtopic.php?pid=40185
    Ответ написан
    Комментировать
  • Mysql подзапрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT `s1`.`id`, `s1`.`city`, `s1`.`contacts`, `s2`.`count`
        FROM `spec` AS `s1`
            LEFT JOIN (SELECT `contacts`, COUNT(`contacts`) AS `count` 
                           FROM `spec` 
                           GROUP BY `contacts`) 
                AS `s2` USING (`contacts`)
    Ответ написан
    1 комментарий
  • Как юзать sqlite, если в хостинге его нет?

    leonid-lapidus
    @leonid-lapidus
    @psrafo, к сожалению, вы не поняли сути SQLite. Это не СУБД в привычном смысле. Её не нужно ставить. Вообще. Совсем.
    Это встраиваемая БД и для того, чтобы с ней работать нужно:
    1. создать файл БД на диске
    2. из своей программы работать с БД

    Чтобы выполнить пункт 2 требуется, чтобы в сам язык (в ядро языка или назовите, как нравится) или в дополнительные либы были встроены функции для работы с файлом БД в формате SQLite. То есть провайдером запросов к файлу БД по сути является либа.

    Именно поэтому вам так упорно все говорят о некоем расширении для PHP. Фактически, установив его, или возможно оно уже установлено на вашем хостинге, вы можете работать с БД SQLite.
    Вероятнее всего локально у вас есть эта либа (PHP новой версии), а на хостинге этой либы нет (PHP старый). Если так, то либо вы найдёте эту либу как набор файлов *.php либо установите из pecl или pear (хз где она лежит). Если последняя операция запрещена вашим хостером - то ничего не сделать.
    Ответ написан
    1 комментарий
  • Как отправить HTTP запрос методом POST на URL через PHP?

    GeneMoss
    @GeneMoss
    void
    $url = 'http://localhost/post.php';
    $params = array(
        'param1' => '123', // в http://localhost/post.php это будет $_POST['param1'] == '123'
        'param2' => 'abc', // в http://localhost/post.php это будет $_POST['param2'] == 'abc'
    );
    $result = file_get_contents($url, false, stream_context_create(array(
        'http' => array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => http_build_query($params)
        )
    )));
    
    echo $result;
    Ответ написан
    1 комментарий
  • Месяцы в столбцах при group by запросе в MySQL

    @Mulder_ua
    Держи,

    select source,
    sum(case when datepart(mm, date) = 1 then amount else 0 end) as [Январь],
    sum(case when datepart(mm, date) = 2 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 3 then amount else 0 end) aa [...],
    sum(case when datepart(mm, date) = 4 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 5 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 6 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 7 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 8 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 9 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 10 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 11 then amount else 0 end) as [...],
    sum(case when datepart(mm, date) = 12 then amount else 0 end) as [Декабрь]
    group by source

    Буду вопросы, задавай
    Ответ написан
    2 комментария
  • Как составить запрос MySQL?

    @zelibob
    Использовать вложенный запрос.
    SELECT * FROM ( <ваш_запрос> ) ORDER BY <имя_поля> DESC
    Ответ написан
    Комментировать
  • Comet(Long polling) - php + jquery?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    js создает соединение (в опциях для ajax запроса выставляется таймаут побольше)
    php принимает его и смотри что можно послать. И ждет... ждет пока не появятся данные которые можно послать.
    Как только данные появляются (скажем скрипт с какой-то задержкой читает данные из базы или из очереди) то он отправляет эти данные и обрывает соединение.
    js скрипт принимает данные, отдает данные на обработку и создает новое соединение.... и так до бесконечности.

    По сути просто вместо того что бы опрашивать сервер раз в секунду, создается соединение, живущее только до получения данных. После получения данных соединение закрывается. После закрытия соединения (не важно пришли данные или произошла ошибка/разрыв по таймаут) так же создается новое. На практике таймаут выставляют секунд в 20-30 что бы избежать возможных проблем.
    Ответ написан
    5 комментариев
  • Почему Хром запрашивает favicon.ico там, где его нет и не было?

    @Razario777
    А как простите хром должен узнать, что файла нет, если он его не запросит?
    Он не должен искать его во всех подряд каталогах, файл должен быть в корне, поэтому класть в images в subimages и прочие директории смысла нету.
    Ответ написан
    3 комментария
  • Еще одна система для учета личных финансов

    @codecity
    У меня похожий вопрос.

    Использовал разные программулины, как то CashFly2, 1с.Деньги, различные Web-версии (homemoney.ua) и прочее. Большинство предназначены дать ответ на вопрос: "и куда же я просрал всю свою зарплату". Но ответ на этот вопрос не особо то нужен, так как зарплата уже просрана.

    Но главный вопрос должен быть: "что я могу себе позволить сейчас/когда я смогу себе это позволить". Вот для ответа на этот вопрос, пожалуй, более всего подходит 1c.Деньги, но она глючна и сложна.

    Второе. Все программы заставляют человека заниматься дуристикой: вносить все свои расходы. Но для ответа на главный вопрос это не обязательно.

    В итоге разработал систему для планирования личных финансов, по которой живу почти год. Удалось купить много полезных вещей/дел (ранее деньга проходила сквозь пальцы в любом количестве). Пока веду в Excel, постепенно дорабатываю.

    И что теперь? Делать программу? Их уже столько на рынке этих программ, более сотни, наверное. Как заинтересовать клиентов? Как доказать, что эта программа не такая как все и она не просто ответит на вопрос «куда просрал», а изменит вашу жизнь и поможет вам исполнить все ваши финансовые мечты?
    Ответ написан
    4 комментария
  • Еще одна система для учета личных финансов

    @FedLab
    Я лично использую софт family 11 pro — платная. удовлетворяет где-то на 80%. с остальными 20% пока смерился. Ранее тоже думал свою писать, но уж слишком много времени надо было бы потратить для удовлетворения не очень значительных нужд. Решил поискать что-то платное.
    из увиденного в вашем скрипте:
    — идея полезная, я долго искал вариант, как вести учет личных финансов, саас сразу исключил, а таких, чтобы развернуть у себя на сервере не нашел подходящих, по этому если хорошо развить продукт — отлично будет. Относительно комментария edogs — можно вносить не поштучно, а группами, например, у меня группы идут — «продукты питания», «налоги» и т.д. не всегда надо детализацию по каждому товару, и для тех, кому это действительно надо — они будут тратить несколько минут в день для учета (у меня больше идет на просмотр статистики и анализ нежели на внесение данных — минут 10-20 в день максимум).
    — в скрипте не помешало бы сделать «бюджет», чтобы можно было планировать доходы и расходов (я такое использую — очень полезно для самоконтроля)
    — статистика — денежный поток, чтобы было видно сколько в какой месяц ушло в «сбережения» или другими словами — чистая прибыль. (у вас там видел график с «балансом», но это немного не то. денежный поток не накапливаемых, то есть каждый месяц — это «поток»=«доход»-«издержки»). Но баланс само собою нужен. Созерцание денежного потока хорошо мотивирует или меньше тратить, или больше работать :-)
    — создание отчета помесячного для печати — диаграмма круговая и внизу табличка доходов/расходов (для меня это облегчает анализ — с бумаги проще воспринимается и можно внести метки какие-то «для себя»)

    Не знаю, есть ли у вас в скрипте (по ходу написания в голову пришло) — группирование счетов (категории) — то есть «наличные» — это и кошелек, и заначка, и «под матрасом»… Безнал — карта банка А, карта банка Б.
    Ответ написан
    3 комментария
  • Еще одна система для учета личных финансов

    @edogs
    Ручное занесение необычайно напрягает.
    Никакой радости разгребать каждый день Х чеков, в котором еще и позиции к Х разным категориям могут относится — нет абсолютно.
    Сервисы разгребающие деньги по выгрузке из ИБ лучше, но не более чем рыба второй свежести, опять же, из-за мегамаркетов всяких и разных категорий товаров в одном чеке.
    Эпик вин будет у сервиса, который умеет автоматом разгребать фотки разных чеков.
    Закупился, сфотал — всё.
    Все остальное это не просто велосипед, это на фиг не нужный изначально велосипед.
    Ответ написан
    7 комментариев
  • Что плохого в вёрстке таблицами?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сами таблицы не плохо. Тут как уже говорилось выше вопрос семантики.
    Но по сути просто плохо, когда то, как страница должна отображаться, влияет на разметку. Да, оно всегда влияет, но по мелочи. А тут у вас заведомо ограничения по разметке. Плохо влияет на расширяемость и поддержку кода.
    Ответ написан
    1 комментарий
  • Что плохого в вёрстке таблицами?

    SLY_G
    @SLY_G
    журналист, переводчик, программист, стартапщик
    Разве что сделать адаптивную вёрстку очень сложно таблицами.
    Ответ написан
    1 комментарий
  • SQLite не использует индекс по дате

    @mayorovp
    А почему вы не сделаете индекс (uid, visible, date)?
    Ответ написан
    3 комментария
  • SQLite не использует индекс по дате

    Akuma
    @Akuma
    Веб-программист
    Попробуйте
    WHERE c.`date` > '2013-04-01' AND c.`date` <  '2013-06-01'
    

    Либо FORCE INDEX. Только не знаю есть ли он в SQLite
    Ответ написан
    1 комментарий
  • Приоритет отправки писем PHP Sendmail?

    gag_fenix
    @gag_fenix Автор вопроса
    Короче ответ нашелся в книжке по Sendmail

    Нужно установить заголовок Precedence у писем.
    Я поставил рассылке Precedence: junk. Теперь остальные письма теперь уходят сразу, а рассылка — «в фоне».
    Классы по умолчанию такие: first-class, special-delivery, list, bulk, junk — по убыванию приоритета. Можно задать свои.

    Возможно, потребуется в конфиге sendmail поставить QueueSortOrder=priority и увеличить ClassFactor.
    Ответ написан
    Комментировать
  • Откуда собирается статистика для http://crypta.yandex.ru/?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Впервые увидел этот сервис, судя по его данным я холостая, гикнутая, сова :D
    Статистику ведёт по кукам, что выше и сказал ув. d4rkr00t.
    Ответ написан
    6 комментариев