Ошибка: Failed to parse the Currency Converter XML document.
$17 957.30


Ошибка: Failed to parse the Currency Converter XML document.
$928.49


Ошибка: Failed to parse the Currency Converter XML document.
$45 168.71


Сделать первый небольшой скрипт

С чего начать?
Я думаю, сейчас самое время перейти от слов к делу — сделать первый небольшой скрипт.

Возьмем для примера следующую задачу. Нужно сделать базу с книгами, которые появились или скоро появятся в продаже,
и которые вызывают интерес.

Для этого нам понадобятся: база (таблицы сделаем в 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:\mysql\bin
(или туда, куды вы установили mysql; далее будем полагать, что mysql установлен в c:\mysql) и запускаем mysqladmin
с параметром (краткую справку по параметрам mysqladmin-а я приведу в следующем шаге).

create .

В нашем случае
create books.
mysqladmin никакой мессагой нас не порадовал, но, зайдя в c:\mysql\data (там по умолчанию 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:\mysql\data\books, вы обнаружите целых три файла: books.frm (структура таблицы),
books.myd (данные; сейчас он нулевой длины — insert-ов ведь не было!) и books.myi (данные о ключах).

На последок небольшое пояснение по первой строке (полю) в insert-е. По идее, параметр «not null» не нужен,
раз «primary key» говорим. Но есть мнение, что лучше все же его указать (я не готов это утверждение как-либо комментировать).
auto_increment, соответственно, присваивает одноименный атрибут полю, позволяя при insert-е автоматически генерить цифру на единицу большую,
чем в предыдущем insert-е.

 

Интересное

Типизированные файлы
Типизированный файл — это файл в котором записанны идентичные структуры. Например любой файл можно считать файлом байтов — т.е. можно его читать байт за байтом, можно перейти сразу к любому...
Подробнее...
Сделать первый небольшой...
С чего начать?Я думаю, сейчас самое время перейти от слов к делу — сделать первый небольшой скрипт.Возьмем для примера следующую задачу. Нужно сделать базу с книгами, которые появились или скоро...
Подробнее...
SSI - что, когда, как?
Основным, простейшим, но в то же время чрезвычайно мощным инструментом поддержки больших наборов документов является SSI (Server-Side Includes — включения на стороне сервера). Если кто-то из...
Подробнее...
Firefox: Настройка RSS
Много слышал об RSS и даже несколько раз пытался пользоваться специальными программами для чтения. Но устанавливать дополнительное ПО не хочется, тем более что в Firefox есть встроенный клиент...
Подробнее...
Протоколы интернет
Прародителем сети интернет была сеть ARPANET. Первоначально её разработка финансировалась Управлением перспективного планирования (Advanced Research Projects Agency, или ARPA). Проект стартовал...
Подробнее...
Linux Format
Linux Format Номер 1 Январь 2007 Автор: Linux Format Формат: PDF
Подробнее...
Выпадающие меню с помощью CSS
Каждый, кому хоть раз приходилось создавать выпадающие меню, знаком с тем, какое количество скриптов требуется для этого. Между тем, используя грамотно структурированный HTML-код и несложные...
Подробнее...
База данных методами...
В статье рассматривается работа с бинарными файлами из Delphi, а так же использование Object Pascal для управления записью, чтением и изменением собственных типов файлов.Постановка задачи:...
Подробнее...
Средства восстановления...
Чтобы ни говорили про повышенную надежность Windows 2000/ХР, иногда она все же подводит. Правда, по сравнению со своими предшественницами Windows 9x/Me это случается гораздо реже. А поскольку...
Подробнее...
CSS дизайн: с учетом контекста
Веб-стандарты обещают нам улучшенную поддержку мультимедиа: возможность оптимизировать контент под возможности компьютерных экранов, портативных устройств, принтеров, проекторов, и подобных...
Подробнее...