Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В помощь начинающим форумосоздателям
 
 автор: loyk   (26.02.2007 в 16:00)   письмо автору
 
 

Поделюсь своим опытом написания форума, сразу отмечу, что данная информация будет полезна только начинающим.
Когда я засел писать свой первый форум, то начал как обычно - с базы данных, вот тут-то и возникла основная проблема: как организовать таблицы, чтобы они правильно взаимодействовали между собой? Предлагаю простейший вариант построения базы данных.
Итак, имеем 4 таблицы: users (содержащую информацию о пользователе), forums (разделы форума), themes (темы) и posts (собственно, сообщения).
Из скриптов (помимо скрипта регистрации, авторизации и т.п.) имеем forum.php (список форумов), themes.php (список тем соответствующего раздела форума), posts.php (соответственно, обсуждение темы).
На странице forum.php названия форумов отображаются в виде ссылок типа themes.php?f_id=xxx, где xxx-номер соответствующего раздела форума, при переходе на страницу themes.php вычисляем значение переменной f_id ($forum_id=$_GET['f_id'];), и делаем запрос в таблицу themes, где айди форума равен $forum_id и последовательно выводим темы в виде ссылок типа posts.php?t_id=yyy где yyy-айди темы. На странице posts.php вычисляем значение переменной t_id, делаем аналогичный запрос в таблицу posts и выводим сообщения.
Основная идея в том, что каждая следующая по иерархии таблица имеет вторичный ключ, указывающий айдишник форума, темы...

P.S.: Расказал только про структуру таблиц и обращения к ним, вроде кроме данной проблемы других возникнуть не должно.

   
 
 автор: Loki   (26.02.2007 в 16:38)   письмо автору
 
   для: loyk   (26.02.2007 в 16:00)
 

По уровню изложения материала напомнило статью в космополитен, где описывалось как с помощью пилочки для ногтей и маникюрных щипчиков сделать домашнюю сеть.

   
 
 автор: Trianon   (26.02.2007 в 16:41)   письмо автору
 
   для: Loki   (26.02.2007 в 16:38)
 

Какой номер?
подписаться чтоли....

   
 
 автор: Ralph   (26.02.2007 в 17:27)   письмо автору
 
   для: Trianon   (26.02.2007 в 16:41)
 

Loki,я вижу,ты наверное,из тех людей,первыми в жизни словами которых было не "мама",а "if(!get_magic_quotes_gpc($var)){$var=addslashes($var);"...Не все же такие,многим начинающим и это будет в новинку и очень полезно

   
 
 автор: Loki   (26.02.2007 в 17:48)   письмо автору
 
   для: Ralph   (26.02.2007 в 17:27)
 

Многим начинающим будет полезен хорошо откомментированный грамотный код и справочник под рукой. Что-то ни одной из областей не встречал чтобы начинающие учили начинающих. А если такое происходит, то на результатах это немедленно сказывается.

   
 
 автор: Ralph   (26.02.2007 в 17:28)   письмо автору
 
   для: Trianon   (26.02.2007 в 16:41)
 

А бывает и наоборот,посмотрит человек такой вот хорошо задокументированный(по мнению автора) и легко понимаемый(опять же по мнению автора) код,а потом пишет где надо и не надо if(preg_match("/^[0-9]+$/i",$digit))

п.с. тем более речь шла не о коде,а об общей структуре,что часто бывает полезно.Так как человек вроде немного язык выучил,хочет что-то написать,а вот как раз о структуре и понятия не имеет.Когда я писал свой первый счетчик онлайн :-) функции то я знал,а принцип даже примерно представить не мог

   
 
 автор: Disable   (26.02.2007 в 17:44)   письмо автору
 
   для: loyk   (26.02.2007 в 16:00)
 

в картинке структуры баз не хватает стрелочек для связи баз по ключам :)
и надо бы поле user_id добавить

   
 
 автор: Loki   (26.02.2007 в 17:51)   письмо автору
 
   для: Disable   (26.02.2007 в 17:44)
 

равно как и сами ключи кое-где отсутствуют.

   
 
 автор: Trianon   (26.02.2007 в 18:07)   письмо автору
 
   для: Disable   (26.02.2007 в 17:44)
 

Автор решил обойтись без суррогатного ПК в таблице users, использовав под него поле user напрямую. Что, вобщем-то, допустимо.

Имена таблиц не надписаны - это швах даже для такого cosmo-варианта.

   
 
 автор: tokmak   (26.02.2007 в 18:54)   письмо автору
 
   для: Trianon   (26.02.2007 в 18:07)
 

Могу еще помочь ссылкой. есть книга в PDF формате. Там показано на примере как пишутся форумы, интернет-магазины и т.д. Может кому надо скачивайте.
http://proklondike.com/files/PHP/Kolisnichenko_PHP5(RUS).rar не работает попробуйте другую.
http://www.codingclub.net/index.php?go=Books&file=down&id=175
Предупреждаю если у кого высокоскоростной весит 7,915кб
P.S. сайт не мой и это не реклама. Лазил в инете и нашел. Просто сам сижу и пишу форум в данный момент. Хотя сам почти новичек.
Кстати у меня есть предложения: 1) Сделать на этом форуме если тема решена то на гланой странице форума написано тип решена.
И 2 сделать несколько тем для чайников(новичков), там например, что где скачать купить и так далее или типичные ошибки расписать, ну наверное понятно.

   
 
 автор: Disable   (26.02.2007 в 20:12)   письмо автору
 
   для: tokmak   (26.02.2007 в 18:54)
 

вот тут еще есть эта книга (иногда можно скачать, когда иностранный траффик не превышен у них)
[url]
http://www.wmate.ru/ebooks/
[/url]

   
 
 автор: Ralph   (26.02.2007 в 20:33)   письмо автору
 
   для: Disable   (26.02.2007 в 20:12)
 

Loki,кстати,именно так я и стал нормальным столяром...Когда пытался что-то узнать у опытных,они или отмахивались,или начинали "понятно" (по их мнению) обьяснять,опуская элементарные и само собой разумеющиеся (для них) детали.И вот как раз у начинающих я этим деталям и учился,потому они еще не успели забыть,как сами на этом обжигались...

   
 
 автор: alek_chita   (28.02.2007 в 15:04)   письмо автору
 
   для: Ralph   (26.02.2007 в 20:33)
 

Побольше бы подобной информации.
А то функции вызубрил, приемы вроде тоже идут не плохо.
Часто нужно просто представить что тебе нужно создать, а техника как правило дело наживное.
Другими словами, если продуман информационный дизайн то пол дела сделано.
Книгу Ани Фйо "рентабельный дизайн" считаю классикой для web-программиста, хотя в ней ни строчки кода.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования