[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка из 2-ух таблиц. Помогите!
freaky
Я в php только начинаю что-то понимать и не могу разобраться как сделать запрос на выборку из двух таблиц.
Всё состоит из 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&nbsp;(%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']; ?>&nbsp;(<?php echo $myrow['city']; ?>,&nbsp;<?php echo $myrow['country']; ?>)</td><br>
</tr>
<tr>
<td>&nbsp;Стадион: <?php echo $myrow['stadium']; ?></td><br>
</tr>
<tr>
<td>&nbsp;Финансы: <?php echo $myrow['finance']; ?></td><br>
</tr>
<tr>
<td>&nbsp;Менеджер: <?php echo $myrow['manager']; ?></td><br>
</tr>
<tr>
<td>&nbsp;Чемпионат: <?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.
А получается что он выводится и по первому ид клуба и по второму...может я не правильно запрос сделал?

Спустя 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!!!!)))))))) wink.gif

Спустя 1 минута, 54 секунды (30.11.2009 - 23:01) Chudik написал(а):
Цитата
Походу получилось...щас ещё потестирую...

Поздравляю wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.