у меня CMS с ЧПУ. в .htaccess все запросы перенаправляются на index.php Там парсится URL и генерируется страница. Вся информация о структуре сайта в базе. Нужно сделать правильную обработку 404 ошибки, т.е. если в базе не найден раздел/подраздел, отвечающий введенному URL, то пользователю выводится своя 404 ошибка.
в index.php стоит проверка: если нет раздела, то header ("Location: /404.php");exit; при этом идет редирект, 404 ошибка, но адрес в строке меняется с введенного на 404.php Как сделать, чтобы адрес в строке не менялся?
в .htaccess я прописал ErrorDocument 404 /404.php только изначально мы не знаем - правильный url или нет - и попадаем в index.php, где и узнаем это. mod_rewrite -ом вроде нельзя это сделать (вся инфа в базе, а правил для названий разделов нет - они любые могут быть)
есть структура nested sets. модуль phpDBTree 1.4 При выводе инфы о конкретном элементе дерева иногда полезно ставить ссылки "Предыдущий" - "Следующий". Это соседи (level тот же).
Только вот как найти этих соседей? В начале есть только cid элемента.
CREATE TABLE `catalog_data` ( `id` int(11) NOT NULL auto_increment, `cid` int(16) default NULL, `title` text PRIMARY KEY (`id`) ) TYPE=MyISAM
Как добавить в эту таблицу 1 строку, только так чтобы не было дупликатов со значениями \'cid\'.
Делать сначала один запрос, в которм проверять наличие строки, а заетм, если еще нет такой строки, то вторым запросом добавлять? Можно ли одним запросом сделать?
Есть структура Nested sets - каталог товаров. На каждый товар цена зависит от еще одного параметра, т.е. цен у каждого товара много. При выводе элементов каталога хочу сразу одним запросом находить цены (min и max), только выводить надо все товары и без цены тоже (цена есть не у всех элементов, да и элементов,отвечающих за названия групп не может быть цены)
талица price = {id, item_id, color_id, price}
запрос1 - вывод элементов каталога select i.cid, d.title, d.type from $table i, $tableData d where i.cleft > $leftId and i.cright < $rightId and i.clevel=$level+1 and i.cid=d.cid order by i.cleft
связь с таблицей Price по столбцу item_id (id товара из каталога) Если делать объединение запросов,
select i.cid, d.title, d.type, min(p.price) as pmin, max(p.price) as pmax from $table i, $tableData d, price p where i.cleft > $leftId and i.cright < $rightId and i.clevel=$level+1 and i.cid=d.cid and p.item_id=i.cid group by i.cid order by i.cleft
то на выходе ТОЛЬКО те строки, у которых в таблице есть цена. Пропадают сразу все товары без цены и названия групп.
Как сделать, чтобы для каждой строки первого запроса, находились (!если есть) min(price) max(price)?
Вариант для каждой строки длать Новый запрос в таблицу Price не нравится
Если прописать на ссылку то при выделении ссылки-картинки мышкой появляется пунктирная рамочка
если прописать свойство blur, т.е. то рамочки не появляется.
Вопрос: как сделать, чтобы по умоланию ВСЕ картинки имели такое совйство? Можно ли в файле css создать класс или просто прописать img{}, и там прописать blur(); ?
есть файл code.php в нем находится произвольный код, типа: циклы, выборки из базы, print и т.д. Результатом code.php будет к примеру таблица данных, выбранных из базы + картинки и т.д.
Основным скриптом является другой файл index.php (к примеру). Необходимо выполнить code.php из основного скрипта, не выводя на экран результат code.php, и передать этот результат дpугой переменной в index.php.
1. Как это сделать? при этом хотелось бы, чтобы ограничений на code.php не было. т.е. там могут быть и print""; Если же отказаться от операторов print""; , то надо все результаты передавать на выходе в одну переменную. В этом случае в файле index.php надо знать переменную, в которую все передавалось или же ставить требование: переменная должна быть $return и никакая другая.
опыт показывает, что структуру с обходом дерева лучше хранить отдельно от данных, т.к. в этом случае при обновлении таблицы очень долго обновляются индексы, да и данные могут сделать невозможным формат записи фиксированной длины, что тоже кардинально скажется на скорости. Самой оптимальной структурой по-моему будет:
CREATE TABLE categories ( cat_id INT UNSIGNED NOT NULL AUTO_INCREMENT, cat_left INT UNSIGNED NOT NULL, cat_right INT UNSIGNED NOT NULL, cat_level INT UNSIGNED NOT NULL, PRIMARY KEY(cat_id) KEY (cat_left, cat_right, cat_level) );
Что значит структуру хранить отдельно? Что отдельная таблица со ВСЕМИ свойствами ВСЕХ объектов, а связь при этом по полю cat_id?
хочу сделать ЧПУ в .htaccess прописал (.htaccess в корне сервера) Action throw /index.php ForceType throw
ForceType application/x-httpd-php
но не работает. (я тестирую локально. Если прописать просто 404 ошибку, то она корректно обрабатывается) в лог ошибок error.log ничего не добавляет в лог GET access.log пишет HTTP/1.1" 404
в IE все работает (окошко alert_a с цифрой 5 и кнопкой ОК)
а в Firefox 1.0.7. выскакивает пустое окошко с ДВУМЯ пустыми кнопками (без названий), похожее на confirm, только сколько не жми на эти кнопки, ничего не происходит. Может кто знает что делать?
Она присоединяет файл к письму, как вложение. Только письмо приходит с вложением, не отображающемся в тексте письма
письмо например такое ---------------------- Представляем вам нновый образец станка...
-----------------------
при этом в письме отображается текст, а вместо картинки - рамка. Картинка же есть в самом письме, но как вложение. ее можно посмотреть, кликнув на вложение
Как сделать, чтобы картинка отображалась непосредственно в html коде письма?
В почте смотрел как спам устроем - там пишут Что за cid?
Вот простая страничка скрипт скрывает и вновь показывает слой Только работает все это как-то странно Для того, чтобы ПЕРВЫЙ раз скрыть слой, необходимо нажать 2 раза (это только первый раз когда нажимаешь на ссылку), а затем все работает норамально: нажал - показалось, нажал - скрылось