Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: дполнительные id (связь один ко многим)
 
 автор: liberty   (02.06.2013 в 19:31)   письмо автору
 
 

В таблице data я размещаю статью про школьника.
в ней я добавляю поле id_university университета, в котором он желает учиться.
id_university известно и берется из таблицы univer
и когда на странице университета всречается id_university из другой таблицы data то выводится
название статьи, где упоминиается этот университет со ссылкой
echo "".$myrow3['title']." упоминается в  статьях:"; }

но как правило кол-во упомянутых вузов может быть больше одного.
как поступить?
вводить еще дополнительные поля id_university2, id_university3, ... в таблице data ?
не удобно.
может есть какое-нибудь другое решение?

<?php 
$result_data 
mysql_query("SELECT * from data WHERE id_university='" mysql_real_escape_string($id_university) . "'"$db);
$x=1;
if (!
$result_data)
{
echo 
"Код ошибки:</p>";
exit (
mysql_error()); 
}
if (
mysql_num_rows($result_data) > 0)
{
echo 
"".$myrow3['title']." упоминается в  статьях:"; }

if (
mysql_num_rows($result_data) > 0)
{
$myrow_data mysql_fetch_array($result_data);
do
{
printf ("<a href='/post.php?id=%s'>%s</a>
"
$myrow_data["id"], $myrow_data["name"]);
$x $x 1;
}
while (
$myrow_data mysql_fetch_array($result_data));
}
 
?>

  Ответить  
 
 автор: cheops   (02.06.2013 в 20:25)   письмо автору
 
   для: liberty   (02.06.2013 в 19:31)
 

Вводите третью промежуточную таблицу для связи.

  Ответить  
 
 автор: liberty   (03.06.2013 в 00:21)   письмо автору
 
   для: cheops   (02.06.2013 в 20:25)
 

поясните, пожаулйста, про промежуточную таблицу

  Ответить  
 
 автор: cheops   (03.06.2013 в 07:31)   письмо автору
 
   для: liberty   (03.06.2013 в 00:21)
 

У вас есть таблица университетов и есть таблица учеников, в этих таблицах университету и ученику соответствует по одной записи. Вы вводите третью таблицу, в которой храните соответствие университетов и учеников (просто id-ключи из обоих таблиц). В этой промежуточной таблице вы ничем не связаны - можно заводить сколько угодно много записей для одного университета и для одного ученика. Так осуществляются связи один ко многим и многие ко многим.

  Ответить  
 
 автор: liberty   (04.06.2013 в 04:41)   письмо автору
 
   для: cheops   (03.06.2013 в 07:31)
 

спасибо. пошел делать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования