Ответы пользователя по тегу PHP
  • Как правильно Сформировать URL?

    tvolf
    @tvolf
    Как я понимаю, основная проблема в наименее затратном формировании строки списка подкатегорий ?
    Если есть ограничение на максимально возможное количество категорий у товара, то самый простой вариант, наверное, формировать полный список категорий в одном SQL запросе, связывая JOIN-ами таблицу категорий саму с собой необходимое кол-во раз. Если же нет, то можно рассмотреть, например, способ хранения иерархических данных в БД, имеющий название materialized path. Там, конечно, есть свои сложности с добавлением и переносом поддеревьев внутри дерева, но зато формирование списка категорий будет выполняться очень просто. На хабре в свое время, вроде бы, была обзорная статья по способам хранения иерархических данных в реляционных БД.
    Ответ написан
    7 комментариев
  • Форма анкеты html?

    tvolf
    @tvolf
    Тут все зависит от того, что вы вкладываете в понятие "обработка". Если вам нужно просто почитать, что люди говорят, то достаточно, наверное, и на email данные формы отправлять. Если же нужен будет какой-то более глубокий анализ, то лучше сохранять в БД. Впрочем, это, наверное, никогда не помешает. Плюс к этому форма весьма странно сверстана. В заголовке элемент link без href (или он потом javascriptiom будет проставляться ?), для div'ов в inline-стилях указывается display:block, хотя, вроде как, это значение по-умолчанию... В общем, есть вопросы )
    Ответ написан
  • Php передать строку запроса?

    tvolf
    @tvolf
    Возможно, не понял вопрос до конца, но что, если внутренние кавычки "эскейпить" обратным слешем ?
    Например, "aaa\"" или 'sdfsdf\'' ? То есть, внешний тип кавычек, встречаемый внутри, просто предваряем обратным слешем.
    Ответ написан
    2 комментария
  • Как запретить вывод тегов с id 2 и 4?

    tvolf
    @tvolf
    Не знаю, правильно ли я понял суть задачи, но что, если в самом начале цикла for написать, например, так:
    ===
    ...
    foreach ( $tags as $tag ) {
    if (in_array($tag->id, array(2,4))) continue;
    ...
    ===
    ?
    Ответ написан
    Комментировать
  • Не выводит по $_GET['id']?

    tvolf
    @tvolf
    Тут еще (кроме неясностей со ссылкой) вопрос, почему mysql_select_db() вызывается _после_ mysql_query() ?
    То есть, по логике сначала выбираем базу данных, к которой будет выполняться запрос, а потом уже делаем запрос к таблицам в ней.
    Ответ написан
    Комментировать
  • Что не так с RewriteRule (внутренний редирект не работает)

    tvolf
    @tvolf
    Если у вас есть доступ к настройкам хоста, то можно попробовать включить ведение лога для mod_rewrite. Сушествуют два разных варианта под две ветки Апача, как я понял. Ну и по логам уже будет проще понять, как выполняется обработка конкретного url.
    Ответ написан
  • PHP_INT_MAX в windows_x64 php_x64 5.5

    tvolf
    @tvolf
    Судя по этому треду на stackoverflow, имеются какие-то нюансы сборки PHP 64-битной версии под Windows, когда в C-коде в качестве int переменных продолжают использоваться 4-байтовые значения типа LONG. Под Linux такой проблемы нет, если я правильно понял.
    Ответ написан
    Комментировать
  • htmlspecialchars русских букв возвращает пустоту

    tvolf
    @tvolf
    Если я правильно понимаю, в PHP 5.4 дефолтная кодировка для htmlspecialchars() изменена на utf-8.
    php.net/manual/ru/function.htmlspecialchars.php
    Попробуйте третьим параметром функции явно указывать windows-1251.
    Ответ написан
    8 комментариев
  • IDS\IPS для веб-сайта?

    tvolf
    @tvolf
    Сам не использовал, но знаю, что для PHP существует вот такая вещь: github.com/PHPIDS/PHPIDS
    Ответ написан
    1 комментарий
  • Проектирование классов для работы с БД в PHP

    tvolf
    @tvolf
    Ну, тут есть только 2 варианта: либо наследование, либо композиция (в том или ином виде). Для того, чтобы не писать руками постоянно создание встраиваемого объекта и передачу его в конструктор, можно посмотреть в сторону внедрения зависимостей (dependency injection). Существуют, как я понимаю, уже готовые библиотеки этого дела, среди которых нужно поискать что-нибудь попроще. В общем, тут нужно гуглить.
    По поводу же того, что в конструкторе потомка нужно постоянно вызывать конструктор родителя — не очень понятно. Если конструктор потомка больше вообще ничего не делает, то, может есть смысл его вообще не определять, и в этом случае конструктор родителя будет вызываться автоматически?
    Ответ написан
    Комментировать