|
|
|
| Скажите пожайлуста каким образо лучше создать таблицу для зарегившихся юзеров.
Юзера имеют 3 уровня. Админ, модератор, пользователь. Должно хранится имя юзера и мыло, а также их посты. Подскажите как это лучше сделать. А то я совсем уже запутался со всякими ключами. И никак не могу взять в тол как ими пользоваться. | |
|
|
|
|
|
|
|
для: Sin
(24.10.2004 в 21:28)
| | Для этого лучше завести таблицу users, состоящую из 4-х полей
CREATE TABLE users (
id_user int(11) NOT NULL auto_increment,
name tinytext NOT NULL,
email tinytext NOT NULL,
status_user enum('moder','admin','user') NOT NULL default 'user',
PRIMARY KEY (id_user)
) TYPE=MyISAM;
|
id_user - первичный ключ, снабжённый атрибутом auto_increment;
name - имя пользователя;
email - e-mail пользователя;
status_user - статус пользователя, поле имеющее тип ENUM и принимающее три знанчения: 'moder' для модератора, 'admin' для администратора и 'user' - для простых смертных, являющееся значением по умолчанию.
Принадлежность посетителя к посту лучше указывать в записи для поста - выделить в таблице, где храняться сообщения дополнительное поле id_user и заносить в него первичный ключ посетителя, которому принадлежит данный пост.
Запись для добавления нового посетителя может выглядеть следующим образом:
INSERT INTO users VALUES (NULL,'cheops', 'cheops@softtime.ru','user');
|
| |
|
|
|
|
|
|
|
для: cheops
(24.10.2004 в 21:46)
| | Спааси вроде понял. Потренировался на локалке. Авот для чего нужен TYPE=MyISAM;в конце запроса.
А с остальным я разобрался. А вот еще вопрос. А вот как лучше сделать таблицу для постов. Я в проектирование БД еще полный ноль. А вы люди с опытом - знаете как поудобней сделать :) | |
|
|
|
|
|
|
|
для: Sin
(25.10.2004 в 00:03)
| | Структура таблицы для гостевой книги можно сделать следующей
CREATE TABLE messges (
id_message int(11) NOT NULL auto_increment,
message text NOT NULL,
id_user int(11) NOT NULL default '0',
puttime datetime NOT NULL default '0000-00-00 00:00:00',
hide enum('show','hide') NOT NULL default 'show',
PRIMARY KEY (id_message)
) TYPE=MyISAM;
|
id_message - первичный ключ таблицы, снабжённый атрибутом auto_increment;
message - поле для хранения сообщения
id_user - вторичный ключ для таблицы users, по нему определяется имя и e-mail автора сообщения
puttime - время добавления сообщения
hide - поле типа ENUM, необходимое для модерирования. Принимает два значения 'show' для сообщений доступных с сайта, и 'hide' для сообщений которые были скрыты модератором.
Строка TYPE=MyISAM; указывает тип таблицы, подробнее об этом можно почитать по ссылке.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=83 | |
|
|
|
|
|
|
|
для: cheops
(25.10.2004 в 00:18)
| | Ага все вроде понятно. Только вот как добавлять время в puttime. Ведь по умолчанию там будет '0000-00-00 00:00:00'
И вот еще маленький вопросик, а если к в таблице где находятся данные юзера добавить столбец avatars где будут хранится аватары пользователей. Как их туда засовывать и забирать при надобности? | |
|
|
|
|
|
|
|
для: Sin
(26.10.2004 в 16:16)
| | >И вот еще маленький вопросик, а если к в таблице где находятся данные юзера добавить столбец avatars где будут хранится аватары пользователей. Как их туда засовывать и забирать при надобности?
Наиболее простой способ – хранить в этом поле пути к файлам. А сами файлы (аватары) хранить в специальной директории
Сходный вопрос обсуждался по ссылке.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=465 | |
|
|
|
|
|
|
|
для: Sin
(26.10.2004 в 16:16)
| | >Ага все вроде понятно. Только вот как добавлять время в
>puttime. Ведь по умолчанию там будет '0000-00-00 00:00:00'
Для того чтобы добавить текущее время можно воспользоваться встроенной функцией MySQL - NOW(), которая возвращает текущее время.
INSERT INTO TABLE messges VALUES (0, "Сообщение", 4, NOW(), 'show');
|
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=573&page=1 | |
|
|
|
|
|
|
|
для: cheops
(26.10.2004 в 20:39)
| | А у меня опять почемучки возникают, так все хочится знать :о).
INSERT INTO TABLE messges VALUES (0, "Сообщение", 4, NOW(), 'show');
|
А вот show обизательно указывать, ведь оно у нас по умолчанию. Я пытался поэксперементировать, но у меня не чего не получилось. Тогда почему мы указывали show как по умолчанию? Она все равно не ставится пока ее не добавишь в запрос. :( | |
|
|
|
|
|
|
|
для: Sin
(26.10.2004 в 22:08)
| | Существует альтернативный синтаксис оператора INSERT, позволяющий задавать имена столбцов и их значения в форме имя_столбца=значение:
INSERT INTO TABLE messges SET message="Сообщение", id_user=4, puttime=NOW();
|
Не указанные после оператора SET столбцы получают значение по умолчанию. | |
|
|
|
|
|
|
|
для: cheops
(27.10.2004 в 00:20)
| | Ребята вы сейчас все лопнете со смеху после моего вопроса. Я не знаю как настроить phpmyadmin.
Мне извесно:
Имя базы
Имя пользователя
Хост на котором расположен сервер
Пароль.
Этих данных вообще достаточно чтобы настроить phpmyadmin. | |
|
|
|
|
|
|
|
для: Sin
(28.10.2004 в 22:13)
| | Этих данных более чем достаточно - у нас сейчас подготовлена статья, посвящённая настройке phpMyAdmin, пока она не появилась в разделе статей приведу выдержки из неё здесь.
Так как часто появляются новые версии phpMyAdmin дистрибутив редко можно обнаружить на просторах рунета. Для того, чтобы получить дистрибутив данного Web-интерфейса следует посетить сайт команды разработчиков http://www.phpmyadmin.org/ , где последняя версия phpMyAdmin доступна для свободной загрузки. Инсталляция phpMyAdmin протекает в несколько этапов.
1. Распакуйте архив с дистрибутивом в поддиректорию корневого каталога вашего web-сервера (Пусть это будет phpMyAdmin). Корневой каталог сервера определяется директивой DocumentRoot, описанной в главе 1. Если вы не имеете прямого подступа к корневому каталогу, в случае если сервер расположен на удалённой машине, поместите файлы в директорию на локальной машине, и затем, после шага 3, переместите директорию на Web-сервер, например, воспользовавшись ftp.
2. Откройте файл config.inc.php и измените значение хоста, пользователя базы данных, его пароль и режима идентификации согласно вашему окружению. Здесь, "хост" означает сервер, где расположена СУБД MySQL. Так в случае локальной машины, можно ввести "localhost". Так же необходимо исправить значение для $cfg['PmaAbsoluteUri'] для указания точного сетевого адреса phpMyAdmin: если настройка Web-приложения происходит на локальной машине, и в первом пункте архив был распакован в папку phpMyAdmin, то следует изменить значение этой директивы на "http://localhost/phpMyAdmin".
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'user';
$cfg['Servers'][$i]['password'] = 'password';
|
3. Желательно защитить директорию в которой установлен phpMyAdmin, например при помощи HTTP-AUTH, если только phpMyAdmin не используется на локальной машине, в сети Интранет или используется HTTP или cookie-идентификация.
4. Теперь можно открыть в браузере главную страницу phpMyAdmin. Если инсталляция производилась на локальной машине (localhost) в подкаталог phpMyAdmin корневого каталога web-сервера, то следует воспользоваться URL: http://localhost/phpMyAdmin/index.php. При этом в браузере должна загрузится главная страница панели управления.
Если гиперссылки на главной страницы панели управления phpMyAdmin не работают, следует ещё раз проверить значение директивы $cfg['PmaAbsoluteUri']. Неправильно указанный сетевой путь является наиболее распространённой ошибкой конфигурирования phpMyAdmin. | |
|
|
|
|
автор: advin (18.05.2005 в 02:15) |
|
|
для: cheops
(28.10.2004 в 22:53)
| | А можно поподробнее про HTTP-AUTH, для phpmyadmin? | |
|
|
|