Помогите создать правиьный запрос в БД

Статус
В этой теме нельзя размещать новые ответы.

999udaw

Писатель
Регистрация
8 Сен 2008
Сообщения
36
Реакции
0
РЕБЯТА ПОСМОТРИТЕ ПОЖАЛУЙСТА ПОДСКАЖИТЕ ЧАЙНИКУ

вот в процессе возник вопрос который никак без посторонней помощи или подсказки решить не могу. вопрос по выборке данных из БД из двух таблиц в которых например ID И GAME_ID имеют одинаковое значение . и вывод этих данных в цыкле . вот пример кода на php.

Код:
<? 
		$result2 = mysql_query("SELECT * FROM online  ",$db);
if (!$result2)
{
echo "<p>Запрос на выборку данных из базы не прошел напишите об этом администратору емаил. <br> <strong>Код ошибки: </strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result2) > 0)
{
$myrow2 = mysql_fetch_array($result2);

$ID=$myrow2["GAME_ID"];

$result = mysql_query("SELECT Game_Name FROM games  WHERE ID='$ID' ",$db);

$myrow = mysql_fetch_array($result);

do 
{
printf ("<div>
               Номер игры  %s 
			   НАЗВАНИЕ %s 
				 
				  
                  </div><br><br>", $myrow2["ID"], $myrow["Game_Name"]);
}
while ($myrow2 = mysql_fetch_array($result2));


}
else
{
echo "<p>Информация по запросу не может быть извлечена, в таблице нет записей.</p>";
exit();
}
		
	

		?>

и вот что получаеться

Код:
 Номер игры 10116 НАЗВАНИЕ Долина Богов


Номер игры 10383 НАЗВАНИЕ Долина Богов


Номер игры 11327 НАЗВАНИЕ Долина Богов


Номер игры 13915 НАЗВАНИЕ Долина Богов


Номер игры 15733 НАЗВАНИЕ Долина Богов


Номер игры 2077 НАЗВАНИЕ Долина Богов

то есть данные из первой таблицы выводятся в цыкле а из второй нет
как это сделать?
 
Чем не устраивает выборка сразу из 2-х таблиц?
Код:
SELECT * FROM table1, table2 WHERE table1.ID = table2.GAME_ID;
 
вот спасибо что подсказал щас буду пробовать .
просто сам я только учусь видел выборку из одной таблицы так и делал не знал что можно из двух срау

Добавлено через 4 минуты
а вот можна ли извлекать не все данные из таблиц. как это прописывать. подскажите примерчиком. например из первой все поля а из второй выборочно 2 каких нибудь
 
HTML:
SELECT table1.*, table2.id, table2.name FROM ....
 
Если у тебя две таблицы
games
id_name | game_name
1 ---- НАЗВАНИЕ Долина Богов
2 ---- Долина
online

id_online | n_online
1 --- 10116
2 --- 2077
Выборка будет такой..
PHP:
$ng = mysql_query("SELECT 
`on`.`id_online` AS `id_o`, 
`on`.`n_online`  AS `namber`,
`g`.`id_name`    AS `id_n`,
`g`.`game_name`  AS `name`
FROM 
`online` AS `on`,
`games`  AS `g`
WHERE  `on`.`id_online` = `g`.`id_name` 
",$db);

while ($ngr = mysql_fetch_assoc($ng))
{
echo '<br />Номер игры: '.$ngr['namber'].' Название игры: '.$ngr['name'] ;
}
Специально написал с алиасами чтобы было понятно как выбирать когда много полей в разных таблицах...
выведет типо..

Номер игры: 10116 Название игры: НАЗВАНИЕ Долина Богов
Номер игры: 10383 Название игры: Долина
Номер игры: 2077 Название игры: НАЗВАНИЕ
Номер игры: 15733 Название игры: Богов

Да и выбросите printf это слишком рессурсоемкая функция...ИМХО типо из курса ПОПОВА...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху