Я пытаюсь узнать больше о взаимодействиях с БД, в результате чего я начал разработку локального приложения. Ну, в основном, то, что я сделал до сих пор, дало смешанные результаты, и я изменил так много вещей, что я даже не уверен, что я изменил на этом этапе, смеется. Я не совсем уверен, что одна из моих таблиц была правильной, поэтому я решил начать все сначала. Вот что я хочу сделать от своего глупого локального приложения.
- Сохранение до 9 определенных RSS-каналов (я раньше делал URL / ссылки, но я не хочу, чтобы что-то делало раньше, поэтому я изменяю их на RSS-каналы)
- 1 канал будет заполнен по умолчанию (поэтому у каждого пользователя есть один общий канал - который он может изменить)
- Ленты должны храниться в некоторой схеме заказа, чтобы их можно было извлекать / распечатывать в том же порядке, в котором они были введены.
Появится экран редактирования с 9 текстовыми полями, заполненными соответствующими записями в БД, что-то вроде:
feed 1: <input type="text" value="http://rss.news.yahoo.com/rss/topstories"> **the default feed for everyone, but they can change it**
feed 2: <input type="text" value="http://content.usatoday.com">
feed 3: <input type="text" value="http://newsrss.bbc.co.uk/rss/newsonl.../world/rss.xml">
feed 4: <input type="text" value="">
feed 5: <input type="text" value="">
feed 6: <input type="text" value="">
feed 7: <input type="text" value="">
feed 8: <input type="text" value="">
feed 9: <input type="text" value="">
<input type="submit" value="update">
Я хочу иметь возможность редактировать / добавлять новые каналы здесь и извлекать эти каналы в том же порядке - это было большим источником моего замешательства в моей предыдущей попытке.
Появится экран вывода, который выводит URL-адреса фидов в том же порядке.
У меня есть 2 таблицы, пользователи и теперь фиды , я считаю, что моя таблица пользователей в порядке, в ней в основном хранится немного личной информации. Я думаю, что все должно быть довольно очевидно. Столбец 'state' будет содержать двухсимвольную аббревиатуру состояний из списка выбора / выпадающего списка, и я проиндексировал ее, так как я хотел бы иметь возможность искать пользователей по состоянию. У меня нет проблем с получением / редактированием / обновлением этих данных.
CREATE TABLE users (
user_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
first_name VARCHAR(20) NOT NULL,
last_name VARCHAR(40) NOT NULL,
state CHAR(2) NOT NULL,
email VARCHAR(60) NOT NULL,
pass CHAR(32) NOT NULL,
registration_date DATETIME NOT NULL,
PRIMARY KEY(user_id),
UNIQUE (email),
INDEX login (email, pass),
INDEX state (state)
);
Вот моя новая таблица фидов
CREATE TABLE feeds (
user_id SMALLINT UNSIGNED NOT NULL,
feed_url VARCHAR(255) NOT NULL DEFAULT 'http://rss.news.yahoo.com/rss/topstories',
feed_id SMALLINT UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY(user_id, feed_url)
);
Когда пользователь вводит новый фид, скажем, для фида №2, значение будет вставлено в feed_url, а feed_id будет вставлено со значением 2 . Если введен канал № 3, будет добавлен feed_id со значением 3 . Это должно дать мне что-то для ORDER BY, чтобы получить записи в порядке, верно?
Экран редактирования данных должен всегда отображать каналы, как они были введены.
Экран вывода данных должен всегда отображать каналы, как они были введены.
Итак, это выглядит правильно, и я что-то упускаю? Возможно, мой feed_url VARCHAR (255) не является надежным, но я собираюсь проводить тестирование только с короткими URL-адресами. Это тоже всегда можно легко поднять.