|
|
|
| Здравствуйте!
С праздником всех вас, ваших родных и близких, отцов и матерей, дедов и бабушек!
Прошу помочь в одном вопросе, я долго думал как лучше сделать, но не придумывается что-то... По сути, вот что:
есть раздел статей (документы), в строке выглядит так ./doc/?id_page=1, статья из раздела в строке значится так ./doc/index.php?id_article=1...
Получается, что id СТРАНИЦЫ не зависит от id РАЗДЕЛА... Мне нужно сделать так, чтобы в кажом разделе список начинался с 1 и далее, то есть так:
1 раздел - 1, 2, 3, 4, 5...
2 раздел - 1, 2, 3, 4, 5...
В строке это должно выглядеть так:
./doc/index.php?id_page=1&id_article=1...
./doc/index.php?id_page=1&id_article=2...
./doc/index.php?id_page=1&id_article=3...
./doc/index.php?id_page=1&id_article=4...
./doc/index.php?id_page=1&id_article=5...
./doc/index.php?id_page=2&id_article=1...
./doc/index.php?id_page=2&id_article=2...
./doc/index.php?id_page=2&id_article=3...
./doc/index.php?id_page=2&id_article=4...
./doc/index.php?id_page=2&id_article=5...
Как примерно нужно изменить файл doc/index.php и doc/art.php, и что нужно изменить в базе? И возможно ли это вообще?
Заранее большое спасибо! :) | |
|
|
|
|
|
|
|
для: Радосвет
(09.05.2006 в 18:44)
| | $query = mysql_query("SELECT * FROM docs WHERE razdel=1;"); | |
|
|
|
|
|
|
|
для: Саня
(09.05.2006 в 18:53)
| | Никак не соображу что именно нужно сделать... То есть я так понял, надо вручную создать в базе на каждый раздел по таблице? А по-другому никак? :) | |
|
|
|
|
|
|
|
для: Радосвет
(09.05.2006 в 18:57)
| | А какая структура таблицы у вас? | |
|
|
|
|
|
|
|
для: Саня
(09.05.2006 в 19:11)
| | Я использую систему управления с диска из книги PHP5: Практика создания...
Структура такая: есть талица artpage с полями id_artpage, name, id_site, title_html (последнюю создал сам для управления заголовками)... и таблица articles с полями id_article, name, description, html_title, html_description, html_keywords, pos, hide, id_page ...
Неужели нужно создавать по таблице на каждый раздел??? | |
|
|
|
|
|
|
|
для: Радосвет
(09.05.2006 в 18:44)
| | >не нужно сделать так, чтобы в кажом разделе список начинался с 1 и далее, то есть так:
А для чего это потребовалось? Может имеется обходной путь... на существующем движке это реализовать будет сложно (без внесения ошибок), так как он проектировался без учёта такой потребности. | |
|
|
|
|
|
|
|
для: cheops
(10.05.2006 в 13:52)
| | Спасибо за ответ! :)
Например, на сайте выкладываются документы: Договора, Проекты, Заказы и т.д., разделено на разделы соответственно, и в каждом разделе нужен свой список, чтобы избежать путаницы (чтобы легче ориентироваться по записи в строке браузера)...
А в дальнейшем прикрутить mod_rewrite, так, чтобы страница http://site.com/doc/index.php?id_page=5&id_article=2 выглядела как http://site.com/doc/5/2/ ...
Если это действительно сложно переделать в этой системе, то как-нить обойдусь, но просто на будущее хотелось бы знать, как это реализовать... :) | |
|
|
|
|
|
|
|
для: Радосвет
(10.05.2006 в 22:06)
| | В этом случае первичный ключ нужно строить не на одно поле id_article, а сразу на двух полях id_part и id_article. | |
|
|
|
|
|
|
|
для: cheops
(11.05.2006 в 01:17)
| | cheops, большое спасибо за совет! :) А можно небольшой примерчик, как это сделать? Мне, по идее, надо править кучу файлов, отвечающих за вывод статей... И что нужно исправить в базе при этом? | |
|
|
|
|
|
|
|
для: Радосвет
(11.05.2006 в 01:51)
| | Придётся избавиться от атрибута AUTO_INCREMENT в таблице atricles, оператор CREATE TABLE для таблицы articles может выглядеть следующим образом
CREATE TABLE articles (
id_article int(10) unsigned NOT NULL default '0',
name tinytext NOT NULL,
description tinytext NOT NULL,
html_title tinytext NOT NULL,
html_description tinytext NOT NULL,
html_keywords tinytext NOT NULL,
pos mediumint(9) NOT NULL default '0',
hide enum('show','hide') NOT NULL default 'show',
id_page tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (id_article,id_page)
) TYPE=MyISAM;
|
| |
|
|
|