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


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


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


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

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

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

Для этого нам понадобятся: база (таблицы сделаем в 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-е.

 

Интересное

Социальная инженерия
Что такое социальная инженерия?? Многие задают себе этот вопрос.Одни думают что это какая то новая точная наука наподобоие математики или физики. А нет!!!!Это искусство ведения разговора и...
Подробнее...
Как избавиться от подмены...
Как избавиться от подмены домашней страницы?Ребенок залез на очень неприятный сайт... Теперь эта хреновина прописалась где-то в глубинах системы (у нас установлен millenium), и при каждой...
Подробнее...
Первый прикол на Дельфи....
Привет читатель. Для написания прог-приколов тебе понадобиться комп, Delphi 6 (7 или выше) и руки, желательно прямые. 1 прикол: Голодный CD-Rom Щёлкни мыщью 2 раза по форме и там пиши...
Подробнее...
Новый способ удаления Msn...
Не секрет, что жесткая инсталляция и невозможность простого удаления программы Msn Messenger не очень радует многих пользователей Windows XP. Какой бы хорошей не была эта программа, большинство из...
Подробнее...
Войны браузеров
Браузер – это, пожалуй, наиболее часто используемая программа на домашнем ПК – не считая, разумеется, операционной системы. Неудивительно поэтому, что рынок браузеров весьма динамичен. Сегодня из...
Подробнее...
ПО WWW БЕЗ СЛЕДОВ
Путешествуя по Интернету, мы не часто задумываемся о том, что оставляем следы своих посещений каждый раз, когда заходим на какой-либо сайт. Пожалуй, об этом и не стоило бы беспокоиться, если бы не...
Подробнее...
IMAP4 и POP3 - сравнение
Цель данной статьи — кратко рассмотреть Internet протоколы: POP (Post Office Protocol), DMSP (Distributed Mail System Protocol) и IMAP (Internet Message Access Protocol). Из трёх...
Подробнее...
Создание потомка от класса...
Для того, чтобы определить когда мышь над компонентом, в данном примере это будет панель, мы создадим новый класс, который будет являться потомком класса TPanel, и будет обрабатывать некоторые...
Подробнее...
Хакеры тоже заимствуют...
Хакерам по душе многие принципы сообщества open source. Они охотно делятся кодом, заимствуют готовые решения, используют чужие модули. Если бы в сообществе вирусописателей не доминировали идеи...
Подробнее...
Какой же из ноутбуков...
Итак, вы стоите перед витриной или сидите перед монитором в уютном кресле и размышляете над вопросом, какой же из ноутбуков Apple будет для вас более подходящим. Кажется, что выбор не так велик:...
Подробнее...