Получить данные из двух таблиц

Shouldercannon

Well-known member
25.05.2010
128
0
#1
Доброго времени суток!
Есть две таблицы
PHP:
CREATE TABLE `users` (
  `uid` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(20) NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 
CREATE TABLE `admins` (
  `uid` int(10) unsigned NOT NULL auto_increment,
  `flags` varchar(20) NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Вывожу:
PHP:
$query = "SELECT * FROM users, admins WHERE users.uid = '".mysql_real_escape_string($_GET['usrid'])."'";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
$row = mysql_fetch_array($result);
echo $row['name'].'~'.$row['flags']; // Выводим данные
В таблице есть четыре пользователя и у всех поголовно выводится флаг z, на деле у ID 1 должен быть флаг z, у ID 2 флаг a.

Есть две таблицы: users и admins. В одной вся информация о пользователе, во второй админские права. Всё в одну таблицу сваливать не хочу.
В обеих таблицах UID это ID пользователя.
Задача заключается в том, чтобы при получении информации о пользователе, зная его UID, мимо дела заглянуть в таблицу admins и получить данные по интересующему UID. Пусть даже пустота будет, если за данным UID ничего не числится.
Пока вижу такое решение
PHP:
$query = "SELECT `name` FROM `test1` WHERE `uid` = '".mysql_real_escape_string($_GET['usrid'])."'";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
$row = mysql_fetch_array($result);
 
 
 
 
$query = "SELECT `flags` FROM `test2` WHERE `uid` = '".mysql_real_escape_string($_GET['usrid'])."'";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
$admin_flags = mysql_fetch_array($result);
 
 
 
 
echo $row['name'].'~'.$admin_flags['flags']; // Выводим данные
 
Последнее редактирование модератором: