Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вывод ссылки вида: категория/номер
Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Здравствуйте, изучать php я начал недавно, поэтому не всё ещё поддаётся моим силам. Надеюсь на помощь. Суть такова: я пытаюсь написать скрипт форума, который бы отображал ссылки на темы в таком виде site.ru/НАЗВАНИЕ_РАЗДЕЛА/НОМЕР_Т ЕМЫ. Проблема состоит в том, что я не знаю как мне это сделать, ибо ссылки отображаются как site/НОМЕР_ТЕМЫ, то есть без названия раздела. И ещё хотелось бы узнать, как для каждой категории сделать свою точку отсчёта так сказать, то есть чтобы в каждом разделе номер темы начинался от 1. Заранее благодарю за любую помощь, мне бы это очень пригодилось в дальнейшем!
snikers987
Отправлено: 24 Октября, 2011 - 14:20:04
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
рано тебе еще форум писать.
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Данил_123
Отправлено: 24 Октября, 2011 - 14:31:44
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
Если так хочешь форум, то купи или скачай phpBB.. А так метод GET
Только то что я написал это пример.. А так надо базу подключать и столбцы вида |num|id_forum|topic_name|
----- http://mysitecost.ru
landsturm
Отправлено: 24 Октября, 2011 - 14:38:50
Частый гость
Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Данил_123
Не в том суть, что мне нужен форум. Я пытаюсь написать какой-то скрипт, чтобы попрактиковаться.
Данил_123
Отправлено: 24 Октября, 2011 - 14:49:06
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
ну все же.. Пример скрипта привел(выше)
----- http://mysitecost.ru
landsturm
Отправлено: 24 Октября, 2011 - 15:31:38
Частый гость
Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Данил_123
Большое спасибо! Можно сказать, что благодаря Вам я понял некоторые вещи и у меня получилось то, что я задумал. Вот бы ещё было неплохо, если бы Вы дали подсказку по поводу второго вопроса.
Цитата:
И ещё хотелось бы узнать, как для каждой категории сделать свою точку отсчёта так сказать, то есть чтобы в каждом разделе номер темы начинался от 1. Заранее благодарю за любую помощь, мне бы это очень пригодилось в дальнейшем!
Данил_123
Отправлено: 24 Октября, 2011 - 17:08:46
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
если так сделать, то при новых сообщения подыматься не будет (Добавление)
можно через
select max(/* имя столбца */) from /* имя таблицы */;
Ну и отрегулировать скрипт записи в базу, и хорошо будет)
----- http://mysitecost.ru
jarosluv
Отправлено: 24 Октября, 2011 - 21:28:12
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
landsturm пишет:
И ещё хотелось бы узнать, как для каждой категории сделать свою точку отсчёта так сказать, то есть чтобы в каждом разделе номер темы начинался от 1. Заранее благодарю за любую помощь, мне бы это очень пригодилось в дальнейшем!
Предположим, каждый раздел (section) у нас обозначается своим номером (id) 1, 2, 3, ... . Названия тем хранятся в отдельной таблице (topics), вида (id, title, topic_id, section_id). Идентификатор id в данном случае для простоты является лишь суррогатным ключём, а номером темы в разделе выступает topic_id.
При добавлении новой темы (topic), нужно проверять максимальный номер темы (topic_id) из данного раздела (section_id). Предположим, нужно узнать номер последней темы из первого раздела, тогда это делается таким запросом:
Затем, если запрос не пустой, при добавлении новой темы, просто прибавляем единичку к полученному результату, иначе это первая тема в этом разделе и её topic_id будет равен единице.
landsturm
Отправлено: 25 Октября, 2011 - 16:54:02
Частый гость
Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Ещё вопросик
Как же сделать так, чтобы тема поднималась выше, при ответе в ней?
jarosluv
Отправлено: 25 Октября, 2011 - 17:16:22
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Если объяснять словами, то нужно найти дату последнего сообщения в каждой теме и при выводе списка тем сортировать по полученным данным в убывающем порядке.
landsturm
Отправлено: 26 Октября, 2011 - 21:35:08
Частый гость
Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Собственно сделал поднятие топика при ответе в нём, а так же разбил на страницы по 5 на каждую...
Далее я приступил к выводу 3 последних ответов из топика в разделе и столкнулся с такой проблемой, что ответы выводятся, но не совсем так, как мне нужно.
Так топик выглядит изнутри:
-----------------------
ТОПИК
-1ответ
-2ответ
-3ответ
-4ответ
-----------------------
А так на странице раздела:
-----------------------
ТОПИК1
-4ответ
-3ответ
-2ответ
ТОПИК2
-4ответ
-3ответ
-2ответ
ТОПИК3
-4ответ
-3ответ
-2ответ
-----------------------
То есть ответы топика выводятся в обратном порядке. Мне же нужно добиться такого вывода трёх ответов из топика:
-----------------------
ТОПИК1
-2ответ
-3ответ
-4ответ
ТОПИК2
-2ответ
-3ответ
-4ответ
ТОПИК3
-2ответ
-3ответ
-4ответ
-----------------------
ORDER BY time DESC LIMIT 3
Что посоветуете сделать?
DeepVarvar
Отправлено: 26 Октября, 2011 - 22:01:14
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.