Вопрос № 71362: Здравствуйте, дорогие эксперты!
Хотелось бы создать на своем сайте возможность добавления комментариев к статьям. К сожалению, мне пока трудно это сделать... Маловато знаний! Помогите, пожалуйста!
Требования:
1. Комменты распола...
Вопрос № 71.362
Здравствуйте, дорогие эксперты!
Хотелось бы создать на своем сайте возможность добавления комментариев к статьям. К сожалению, мне пока трудно это сделать... Маловато знаний! Помогите, пожалуйста!
Требования:
1. Комменты располагаются друг за другом, по порядку, начиная с самого последнего то есть при добавлении коммента он ставится на первое место).
2. Возможность вставки пользователем помимо коммента имя, и-мэйл и номер аськи.
И дополнительно, если можно, то еще хотелось бы возможность редактирования своих комментариев в течение 2 дней, но не удаление, и панель адмна, из которой я бы могла удалять и редактировать любые комментарии.
Естественно, РНР на сайте имеется, базы данных тоже.
Если сможете помочь - огромное спасибо!!!!
P.S Просьба отвечать как можно яснее! Я с РНР и "Мускулом" еще не до конца разобралась.
Отправлен: 17.01.2007, 15:56
Вопрос задала: Angel7 (статус: Студент)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Барков Илья Андреевич
Здравствуйте, Angel7!
во-первых надо создать таблицу с комментариями
от сюда 2 вопроса:
1) статьи хранятся в базе?
2) писать комментарии будут зарегистрированые пользователи или нет?
в общем 2 варианта создания таблицы.
Первый вариант для зарегистрированых пользователей:
table comments
ID_COMMENT int(9) auto_increment primary key,
ID_ARTICLE int(9) default 0,
ID_USER int(9) default 0,
TEXT text.
Второй вариант для незарег. пользователей:
ID_COMMENT int(9) auto_increment primary key,
ID_ARTICLE int(9) default 0,
U_NAME varchar(255) default 0,
U_ICQ int(9) default 0,
U_MAIL varchar(255)
TEXT text.
Суть: выбираем статью. к ней там ссылочка должна быть "Оставить комментарий (<кол-во коментов>)".
переходим на форму, где юзер заполняет все поля и вносим данные в базу.
если пользователь зарегистрированый, то берем его инфу из таблицы users по ID_USER.
если же нет - то вон поля U_>NAME,ICQ,MAIL.
p/s сорри что так кратко. убегаю уже
в ПМ пиши, помогу.
Ответ отправил: Барков Илья Андреевич (статус: 7-ой класс)
Ответ отправлен: 17.01.2007, 16:06 Оценка за ответ: 4 Комментарий оценки: Тогда подскажите, как это все организовать - как записывать комменты в базу, как брать их оттуда и выводить их на странице... К сожалению, Вы ничего толком не объяснили... :( Вопрос по-прежнему открыт... Да, статьи не в базе.
Отвечает: Загиров Рустам
Здравствуйте, Angel7!
Во-первых, советую посетить ресурс php.su. Там много статей о связке PHP+MySQL.
Некоторое отступление о MySQL.
MySQL - СУБД, в которую можно записывать, извлекать данные с определённым условием.
Структура MySQL: База Данных=>Таблица=>Запись. То есть все данные храняться в самих таблицах, в записях. Таблиц может быть несколько. Например таблица посещения страниц. Стуктура таблицы будет такой(столбцы, поле): Время посещения страницы, ip-адрес пользователя, имя страниц. Поле должно быть определённого типа строковый, числовой и т.д. Теперь при каждом обращении к странице добавляем запись в таблицу посещения страниц.
Это только очень, очень поверхностная информация о MySQL. Для полного понимания читайте статьи о MySQL на php.su и на других источниках
Далее сама структура БД(уже предполагает что вы поняли, что и с чем едят MySQL).
Пусть статьи будут не в базе. У каждой статьи есть свой путь на сайте. Например: /articles/1.html /articles/2.html /articles/kak_sdelat_to-to.html.
Для статей нужно создать 2 таблицы:
1) Таблица статей. Она будет содержать поля: Уникальный номер статьи, Путь статьи.
CREATE TABLE `articles` (
`art_id` INT NOT NULL AUTO_INCREMENT ,
`art_path` TEXT NOT NULL ,
PRIMARY KEY ( `art_id` )
);
2) Таблица коментариев. Структура: Уникальный номер коментария, Номер статьи, Имя оставившего коментарий, E-mail, ICQ, Время, Комментарий.
CREATE TABLE `com` (
`com_id` INT NOT NULL AUTO_INCREMENT ,
`art_id` INT NOT NULL ,
`ip` VARCHAR( 15 ) NOT NULL,
`name` VARCHAR( 255 ) NOT NULL ,
`mail` VARCHAR( 255 ) NOT NULL ,
`icq` VARCHAR( 9 ) NOT NULL ,
`stamp` TIMESTAMP NOT NULL ,
`com` TEXT NOT NULL ,
PRIMARY KEY ( `com_id` )
);
В приложении написал код, полностью работающий.
Чтобы зарегистрироваться как админ, нужно в строку добавить параметр pas:
page_1.php?pas=1234
Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 17.01.2007, 19:51
Отвечает: Cimus
Здравствуйте, Angel7!
Посмотрите работу скрипта в действии вот тут
Сам скрипт можете скачать вот тут
В скрипте полно коментариев, если будут вопросы, то задавайте их сюда или в личку.
Ссылки будут актуальны до 28 января.
--------- Достичь можно любых высот !
Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 21.01.2007, 00:04