Всё состоит из 2-ух страниц. На первой:
<?
$result = mysql_query("SELECT id,name,city,country FROM clubs WHERE status='0'",$db);
$myrow = mysql_fetch_array ($result);
do {
printf ("<table aligh='center'>
<tr>
<td'><a href='view_clubs.php?id=%s'>%s (%s, %s)</td></tr>
</table>",$myrow["id"], $myrow["name"], $myrow["city"], $myrow["country"]);
}
while ($myrow = mysql_fetch_array ($result));
?>
Из первой таблицы clubs сделана выборка и по ид сделана ссылка на следующую страницу. Например по ид=1.
На следующей странице нужно что бы выводилась более расширенная информация из таблицы clubs.
<? if (isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM clubs WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result); ?>
<?php echo $myrow['name']; ?> (<?php echo $myrow['city']; ?>, <?php echo $myrow['country']; ?>)</td><br>
</tr>
<tr>
<td> Стадион: <?php echo $myrow['stadium']; ?></td><br>
</tr>
<tr>
<td> Финансы: <?php echo $myrow['finance']; ?></td><br>
</tr>
<tr>
<td> Менеджер: <?php echo $myrow['manager']; ?></td><br>
</tr>
<tr>
<td> Чемпионат: <?php echo $myrow['division']; ?><br></
Здесь всё правильно.
Но теперь нужно выбрать все данные из таблицы players что бы данные по строке club из таблицы players совпадали cо строкой в name в таблице clubs. И выводилось по ид(табл.club данной страницы).
Нужна как то обьединить эти таблицы и при этом что бы на странице выводись данные из таблицы players только по id страницы.
Делаю сайт о футболе. Это не важно. Но для примера.
таблица clubs
id name city
1 Арсенал Лондон
таблица players
id namepl
1 Альмуния
2 Аршавин
Должно получиться
Арсенал Лондон
Альмуния
Аршавин
Спустя 48 минут, 43 секунды (30.11.2009 - 22:30) Chudik написал(а):
Цитата |
таблица players id namepl 1 Альмуния 2 Аршавин |
Добавь в другую таблицу поле id_club которое и будет служить связкой. и все.
Спустя 3 минуты, 26 секунд (30.11.2009 - 22:33) freaky написал(а):
добавил...а как мне правильно сделать запрос для их связки?
Спустя 11 минут, 54 секунды (30.11.2009 - 22:45) Chudik написал(а):
$result = mysql_query("SELECT * FROM players WHERE id_club='$id'",$db);
Вот так и выводи. $id - это должно быть ИД клуба, всем игровам присвой ид клуба к которому они относятся
Спустя 5 минут, 48 секунд (30.11.2009 - 22:51) freaky написал(а):
я сделал вот такой запрос
$result = mysql_query("SELECT * FROM clubs,players WHERE players.id_club=clubs.id",$db);
Получилось,
открываю я страницу с любым клубом, а там всё одни и теже игроки...
Присвоил первому полю в players значение 1 в id_club.
А получается что он выводится и по первому ид клуба и по второму...может я не правильно запрос сделал?
$result = mysql_query("SELECT * FROM clubs,players WHERE players.id_club=clubs.id",$db);
Получилось,
открываю я страницу с любым клубом, а там всё одни и теже игроки...
Присвоил первому полю в players значение 1 в id_club.
А получается что он выводится и по первому ид клуба и по второму...может я не правильно запрос сделал?
Спустя 4 минуты, 47 секунд (30.11.2009 - 22:56) Chudik написал(а):
непонял... Ты хочешь сделать это одним запросом?
<? if (isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM clubs WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result); ?>
<?php echo $myrow['name']; ?> (<?php echo $myrow['city']; ?>, <?php echo $myrow['country']; ?>)</td><br>
</tr>
<tr>
<td> Стадион: <?php echo $myrow['stadium']; ?></td><br>
</tr>
<tr>
<td> Финансы: <?php echo $myrow['finance']; ?></td><br>
</tr>
<tr>
<td> Менеджер: <?php echo $myrow['manager']; ?></td><br>
</tr>
<tr>
<td> Чемпионат: <?php echo $myrow['division']; ?><br>
<?
$resultplayer = mysql_query("SELECT * FROM players WHERE id_club='$id'",$db);
//и тут результаты игроков
?>
Спустя 58 секунд (30.11.2009 - 22:57) Chudik написал(а):
Одним запросом тебе не обойтись...
Спустя 2 минуты, 26 секунд (30.11.2009 - 22:59) freaky написал(а):
Походу получилось...щас ещё потестирую...блин оказалось вё так просто... Спасибо большое,Chudik!!!!))))))))
Спустя 1 минута, 54 секунды (30.11.2009 - 23:01) Chudik написал(а):
Цитата |
Походу получилось...щас ещё потестирую... |
Поздравляю