Статьи PHP, Форум, Уроки PHP, дизайн, раскрутка сайта
Портал для программистов, дизайнеров, SEO - оптимизаторов.
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
TIGER ICQ 3 6 0 2 9 5 6 8 3
     
Выберите раздел
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

Поиск
 
 
 

Друзья сайта
 
 
1. www.bvisoft.com
Онлайн счетчик
 

Статистика
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
--------------------------------------
  Прочитано статей: 405
  Всего прочтений: 155329
--------------------------------------
  Сейчас читают: 4 чел.

Кнопка сайта
  Если мой сайт вам чем-то помог, поставьте, пожалуйста, на своем сайте такую кнопку:
 
  Код кнопки:
 

 

Сделать первый небольшой скрипт [Версия для печати]
Разместил: admin . Раздел: Для начинающих. Опубликовано: 09-20-2007 18:38:03
С чего начать?
Я думаю, сейчас самое время перейти от слов к делу - сделать первый небольшой скрипт.
Возьмем для примера следующую задачу. Нужно сделать базу с книгами, которые появились или скоро появятся в продаже,
и которые вызывают интерес.

Для этого нам понадобятся: база (таблицы сделаем в mysql), форма ввода, процедура загрузки из текстового файла (на тот случай, если ранее список книг лежал в
файле - у меня дело именно так и обстоит), страница для вывода с сортировкой по критериям и, как дополнительный прибамбас (его сделаем в самую последнюю
очередь), загрузка новостей с сайтов издательств с занесением выбранных позиций в базу.

Цель проекта проста. Не упустить интересующее чтиво.

Структура таблиц будет такой. Таблица описания книг books:

id int(5) - уникальный id autoincrement primary key - сначала хотел сделать автора и название ключем, решил, что это будет неудобно, если решим добавлять ссылочные
таблицы)
author char(60) - автор
namebook text(100) - название книги
series int(2) - id серии (если книга принадлежит серии) - для серий отдельная таблица
edition int(2) - издание
year int(4) - год издания
isbn char(20) - isbn (интересно, 20 символов хватит?)
pages int(4) - объем книги
when_create int(2) - номер квартала (за точку отсчета возьмем i квартал 2000)
how int(4) - предположительная цена
status int(1) - id статуса: обязательно заказать, посмотреть подробнее и т.п.
Для начала хватит. Потом добавим серии книг, статусы, таблицу оглавлений и обложек (в blob-ах),
комментарии к книгам и список интернет-магазинов, в которых книга была обнаружена.
Для создания таблицы нам понадобится создать базу данных в mysql (назовем ее тоже books) и в ней уже саму таблицу.
Но сначала об установке mysql. Я опишу установку под winnt (под *nix-ы его надо собирать - я пока это проделывать не пробовал).

Процедура эта довольно проста. Надо забрать дистрибутив с http://www.mysql.com, раскрыть zip, запустить setup.exe.
После окончания установки в каталоге mysql-я будет лежать файл my-example.cnf.
Предполагается, что его надо будет скопировать в каталог c: под именем my.cnf.
Я этого не делал. Вместо этого, следуя readme-файлу, я запустил winmysqladmin.exe, выбрал закладку "my.ini setup",
указал директорию, в которой живут поддиректории mysql-я (у меня это c:/usr/local/mysql),
выбрал радиобаттон в секции "mysqld file" mysqld-nt (запуск mysql-сервера как службы в nt) и нажал на "save modification".
После чего в winnt-каталоге обнаружил файл my.ini. Все. Осталось убедиться, что в списке служб появилась служба "mysql",
и выставить ей атрибут запуска (руками/автоматом).

Итак, заходим в каталог (если вы, конечно, не внесли эту директорию в path-окружение) c:mysqlin
(или туда, куды вы установили mysql; далее будем полагать, что mysql установлен в c:mysql) и запускаем mysqladmin
с параметром (краткую справку по параметрам mysqladmin-а я приведу в следующем шаге).

create <имя база>.
В нашем случае
create books.
mysqladmin никакой мессагой нас не порадовал, но, зайдя в c:mysqldata (там по умолчанию mysql хранит базы данных,
если не задано противное в конфигурации сервера), можно с чувством глубокого удовлетворения обнаружить директорию books.
Это и есть наша база. Правда, директория пуста - мы ведь не создали в базе еще ни одной таблицы.
(Кстати, если вы решите удалить базу пудем удаления директории - лучше откажитесь от этой затеи.
mysql хранит у себя информацию о существующих базах. Для корректного удаления базы есть параметр у mysqladmin-а:
drop <имя базы>.
Создаем таблицу. Можно зайти в mysql.exe и создать там, а можно скормить тектовый файл с командами для mysql-я на вход exe-шнику.
(При заходе с локальной машины mysql считает, что пришел root со всеми полномочиями - о пользователях и полномочиях в mysql-е поговорим позднее).
Итак, либо, зайдя в mysql, введите нижеследующую последовательность команд, либо сохраните их в файле (например, books.sql) и скажите

mysql < books.sql
А вот содержимое books.sql:
connect books;
create table books (
id int(5) not null primary key auto_increment,
author char(60),
namebook varchar(100),
series int(2),
edition int(2),
year int(4),
isbn char(20),
pages int(4),
when_create int(2),
how int(4),
status int(1)
);
Зайдя теперь в каталог c:mysqldataooks, вы обнаружите целых три файла: books.frm (структура таблицы),
books.myd (данные; сейчас он нулевой длины - insert-ов ведь не было!) и books.myi (данные о ключах).
На последок небольшое пояснение по первой строке (полю) в insert-е. По идее, параметр "not null" не нужен,
раз "primary key" говорим. Но есть мнение, что лучше все же его указать (я не готов это утверждение как-либо комментировать).
auto_increment, соответственно, присваивает одноименный атрибут полю, позволяя при insert-е автоматически генерить цифру на единицу большую,
чем в предыдущем insert-е.

Источник: http://articles.org.ru   Прочитана 965 раз.
  Закладки:  
     
     
     




     
   TIGER EMAIL tiger1989@mail.ru
online SpyLOG тИЦ и PR
Copyright 2007 by TIGERCMS.com
Powered by TIGER-News v1.1
Реклама:
Бесплатные онлайн игры; найти мобильные игры для телефона; дешево msi vr321 можно в кредит