Checkbox и Mysql

Dejurik

Создатель
Регистрация
1 Авг 2008
Сообщения
18
Реакции
6
Всем привет!
Очень нуждаюсь в помощи или подсказке...

К примеру:
Сущекствует 3 таблицы:

news (id, title, text, date)
avtors (id, name, about, date)
news_avtors (id, id_news, id_avtors)

При добавлении новости, запись заноситься в таблицу news,
Также при добавлении новости я сделал привязку авторов через checkbox к данной новости.

Как реализовать чтоб каждый помеченый checkbox добавлялся в таблицу news_avtors отдельной записью.

К Примеру:
news_avtors
(id, id_news, id_avtors)
1 1 3
2 1 4
3 1 2
4 1 1

Заранее благодарен за помощь
 
берешь массив отмеченых чекбоксов, прогоняешь через foreach а там инсертишь по отдельности в базу.
PHP:
foreach($checkboxes as $check) {
 $sql = my_query("INSERT INTO news_avtors (id_news, id_avtors) VALUES ('".(int)$news_id."', '".(int)$check."')");
}
 
В целом не лучший вариант с 3-мя таблицами, последняя лишняя, для связи двух таблиц добавь в таблицу news id_avtor, в итоге так получится:

news (id, id_avtor, title, text, date)
avtors (id, name, about, date)
 
вариант с 3мя таблицами универсален, так как у одной новости может быть несколько авторов...

что собственно у топикстартера и происходит...

по теме: тут только через цикл, как посоветовали выше...
 
Ещё как вариант, можно хранить в таблице список юзеров в одной записи (тоесть в базе в таблице news_avtors для каждой новости будет одна строка с массивом юзеров относящихся к этой новости) — через serialize().
При выводе новости просто делаете
PHP:
$users=unserialize($row['users']);
  foreach($users as $user)
   {
	  print $users.', ';
   }
Где $row['users'] — это поле содержащее список авторов новости
 
Назад
Сверху