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

Форум MySQL

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

 

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

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

тема: Запрос в бд.
 
 автор: Virtus-pro   (29.06.2010 в 19:08)   письмо автору
 
 

Здравствуйте.


Есть таблица серверов
CREATE TABLE `amx_servers` (
  `server_id` mediumint(5) unsigned NOT NULL auto_increment,
  `server_name` varchar(255) NOT NULL default 'unknow',
  `server_ip` varchar(255) NOT NULL default '0.0.0.0',
  `server_map` varchar(255) NOT NULL default 'no_image',
  `server_players` varchar(2) NOT NULL default '0',
  `server_maxplayers` varchar(2) NOT NULL default '0',
  `server_status` tinyint(1) NOT NULL default '0',
  `server_location` varchar(50) NOT NULL default '',
  `server_vip` tinyint(1) unsigned NOT NULL default '0',
  `server_vip_date` varchar(50) NOT NULL default '0',
  `server_top` tinyint(1) NOT NULL default '0',
  `server_top_date` varchar(50) NOT NULL default '0',
  `server_protokol` varchar(5) NOT NULL default '',
  `server_regdata` text NOT NULL,
  `server_email` varchar(255) NOT NULL default '',
  `server_icq` varchar(30) NOT NULL default '',
  `server_new` tinyint(1) unsigned NOT NULL default '1',
  `server_site` varchar(255) NOT NULL default '',
  `votes` mediumint(11) unsigned NOT NULL,
  `server_off` tinyint(1) unsigned NOT NULL default '0',
  `steam` tinyint(1) unsigned default NULL,
  `os` text,
  `password` text,
  `secure` text,
  `bots` text,
  `game` varchar(5) NOT NULL,
  `user` int(11) default NULL,
  `next_del_server` varchar(50) default NULL,
  `server_slot_vp` tinyint(2) default NULL,
  PRIMARY KEY  (`server_id`),
  FULLTEXT KEY `server_map` (`server_map`)
) ENGINE=MyISAM;



Есть таблица заказов
CREATE TABLE `amx_orders` (
  `id` mediumint(11) NOT NULL auto_increment,
  `user_id` mediumint(8) NOT NULL,
  `server_id` varchar(255) NOT NULL,
  `vip` varchar(50) NOT NULL,
  `top` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM   ;



Есть таблица юзеров
CREATE TABLE  `amx_user` (
  `user_id` int(11) NOT NULL auto_increment,
  `user_email` text NOT NULL,
  `user_password` text NOT NULL,
  `user_balance` int(11) default '0',
  `user_bonus` int(5) NOT NULL default '0',
  `user_code` text NOT NULL,
  `user_vip` int(11) NOT NULL default '0',
  `user_time` int(11) NOT NULL default '0',
  `user_status` int(1) default '0',
  `user_name` varchar(100) default NULL,
  `icq` varchar(30) default NULL,
  `site` varchar(255) default NULL,
  `user_ban` int(1) default NULL,
  `user_level` int(3) default NULL,
  PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM  ;



вот к примеру 1 заказ в таблице заказов
id user_id server_id vip top
1 946 1103 1 0

Пользователь жмет свои заказы и ему надо вывести все заказы где user_id равняется его ид. Это вывести легко Select....WHERE user_id=$id

Как видите я еще пишу ID сервера. server_id. мне надо получить название сервера (server_name) по ид из таблицы серверов одним запросом. То есть надо сделать вложенный запрос. Не могу понять как его сделать. Можете подсказать?

Вот так я делал


$result = dbquery("SELECT user_id, server_id, (select  server_name from ".DB_SERVERS."   where server_id=server_id' )  FROM ".DB_ORDERS . " where user_id = ".$user_data['user_id']);

  Ответить  
 
 автор: Trianon   (29.06.2010 в 19:18)   письмо автору
 
   для: Virtus-pro   (29.06.2010 в 19:08)
 

>Как видите я еще пишу ID сервера. server_id. мне надо получить название сервера (server_name) по ид из таблицы серверов одним запросом.
То есть надо сделать вложенный запрос.

Нет. Вложенный запрос здесь не требуется.
Достаточно соединения (JOIN ... ON ...)

  Ответить  
 
 автор: Virtus-pro   (29.06.2010 в 19:30)   письмо автору
 
   для: Trianon   (29.06.2010 в 19:18)
 

Можете подробнее описать как сделать. а то что то не слышал про такое (

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

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