Novice
Новичок
хочется поменьше запросов...
Имеем на сайте новости. Так как структура их динамическая (неизвестно заранее сколько полей будет содержать новость), то сделал такую структуру таблиц в БД:
таблица articles:
id - INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
article_name - VARCHAR(255)
таблица articles_fields:
id - INT UNSIGNED
var_name - VARCHAR(255)
var_value - TEXT
Например в таблице articles имеем:
id | article_name
---------------------------
1 | Всех с Новым Годом!
2 | Сайт скоро переезжает
А в articles_fields соответственно:
id | var_name | var_value
------------------------------------------
1 | author | Иванов Иван
1 | date | 1105120771
2 | author | Петров Петр
2 | date | 1105120664
Теперь для вывода всех новостей в раскрытом виде я делаю
N+1 запросов к БД, где N - количество новостей.
то есть чтобы получить для вывода массив вида:
array(
0 => array('id'=>1, 'article_name'=>'Всех с Новым Годом!', author=>'Иванов Иван', 'date'=>'1105120771'),
1 => array('id'=>2, 'article_name'=>'Сайт скоро переезжает', author=>'Петров Петр', 'date'=>'1105120664')
............
)
Либо я выбрал не лучшую структуру таблиц, либо не умею писать запросы. Кто что может предложить?
Спасибо.
Имеем на сайте новости. Так как структура их динамическая (неизвестно заранее сколько полей будет содержать новость), то сделал такую структуру таблиц в БД:
таблица articles:
id - INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
article_name - VARCHAR(255)
таблица articles_fields:
id - INT UNSIGNED
var_name - VARCHAR(255)
var_value - TEXT
Например в таблице articles имеем:
id | article_name
---------------------------
1 | Всех с Новым Годом!
2 | Сайт скоро переезжает
А в articles_fields соответственно:
id | var_name | var_value
------------------------------------------
1 | author | Иванов Иван
1 | date | 1105120771
2 | author | Петров Петр
2 | date | 1105120664
Теперь для вывода всех новостей в раскрытом виде я делаю
N+1 запросов к БД, где N - количество новостей.
то есть чтобы получить для вывода массив вида:
array(
0 => array('id'=>1, 'article_name'=>'Всех с Новым Годом!', author=>'Иванов Иван', 'date'=>'1105120771'),
1 => array('id'=>2, 'article_name'=>'Сайт скоро переезжает', author=>'Петров Петр', 'date'=>'1105120664')
............
)
Либо я выбрал не лучшую структуру таблиц, либо не умею писать запросы. Кто что может предложить?
Спасибо.