[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вывод группы не работает !?
deathnote
мой запрос к базе на вывод группы по ид номеру пользователя !

 $query = "select usergroups.group_name from user , usergroups  where user.id= '$id';";
echo $query;


Проблема в том что он не отображает не чего вообще.
$id- это значение проверял приходит ид пользователя скажем номер 5, но выборка группы пользователя не проходит !

у меня имеются 2 таблице в

1 таблица это user в ней следующее поля id - pk, name, passwor, email, user_group(тут идут цифры в соответствии номерам групп), sid- хранца ссесия
2 таблица usergroups в ней два поля это id -pk и group_name

скажите пожалуйста почему не проходит запрос на показ группы ?



Спустя 1 час, 56 минут, 55 секунд (10.05.2010 - 20:18) Nikitian написал(а):
В вашем запросе никак не связаны таблицы user и usergroups.

Спустя 1 час, 9 минут, 11 секунд (10.05.2010 - 21:27) deathnote написал(а):
хм.. а как мне их связать?

Спустя 3 часа, 2 минуты, 6 секунд (11.05.2010 - 00:29) Nikitian написал(а):
Цитата

user_group(тут идут цифры в соответствии номерам групп)

Вот по этому полю и надо связывать таблицы. Это вы писали?

Спустя 14 минут, 5 секунд (11.05.2010 - 00:43) deathnote написал(а):
то есть будет так выглядеть запрос ?

  $query = "select usergroups.group_name from user , usergroups  where user.user_group= '$id';"

Спустя 1 день, 6 часов, 30 минут, 52 секунды (12.05.2010 - 07:14) deathnote написал(а):
при таком запросе тоже не чего не отображает !

Спустя 5 часов, 9 минут, 51 секунда (12.05.2010 - 12:24) Bezdna написал(а):
$query = "SELECT usergroups u, group_name g FROM u.user , g.usergroups  WHERE u.id= '".$id."'";
echo $query;

Спустя 11 минут, 19 секунд (12.05.2010 - 12:35) deathnote написал(а):
к сожалению такой запрос тоже не работает, даже если вставить принудительный номер пользователя !

$query = "SELECT usergroups u, group_name g FROM u.user , g.usergroups  WHERE u.id= '5';";
echo $query;

Спустя 3 минуты, 5 секунд (12.05.2010 - 12:38) DedMorozzz написал(а):
по каким полям таблицы связаны?

Спустя 6 минут, 14 секунд (12.05.2010 - 12:44) deathnote написал(а):
в таблице user поля user_group связон с полем id -pk в таблице usergroups то есть id-pk таблице usergroups равны цифрам в user_group

дамп таблиц

CREATE TABLE `user` (
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
`name` varchar(40) NOT NULL DEFAULT '',
`password` varchar(32) NOT NULL DEFAULT '',
`user_group` smallint(5) NOT NULL DEFAULT '5',
`email` varchar(50) NOT NULL DEFAULT '',
`sid` varchar(64) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
UNIQUE KEY `email` (`email`)
)
ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ('5', 'admin', '7bedb134a13e31f4e82b4a5899dd2c8b', '6', 'arturnet@mail.ru', 'kdrf3fb6eea2alhailj9nhj1i7');
INSERT INTO `user` VALUES ('6', 'ded', '7bedb134a13e31f4e82b4a5899dd2c8b', '5', 'arturnet1@mail.ru', '');
INSERT INTO `user` VALUES ('7', 'proba', '7bedb134a13e31f4e82b4a5899dd2c8b', '5', 'arturnet4@mail.ru', '');



CREATE TABLE `usergroups` (
`id` smallint(5) NOT NULL AUTO_INCREMENT,
`group_name` varchar(32) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;


INSERT INTO `usergroups` VALUES ('5', 'Registr');
INSERT INTO `usergroups` VALUES ('6', 'Admin');
INSERT INTO `usergroups` VALUES ('7', 'Banned');


Спустя 9 минут, 37 секунд (12.05.2010 - 12:54) DedMorozzz написал(а):
SELECT * FORM `user` LEFT JOIN `usergroup` ON user.user_group = usergroup.id

сие выводит всю инфу?

Спустя 5 минут, 38 секунд (12.05.2010 - 13:00) deathnote написал(а):
к сожалению нет, почему то запросы не хотят работать с двумя таблицами только с 1 работают (

Спустя 10 минут, 5 секунд (12.05.2010 - 13:10) DedMorozzz написал(а):
Опечатка была "FORM" Вместо "FROM"
SELECT * FROM  `user` LEFT JOIN  `usergroups` ON  `usergroups`.`id` =  `user`.`user_group` 

Спустя 4 минуты, 23 секунды (12.05.2010 - 13:14) DedMorozzz написал(а):
Ну и необходимое решение:
SELECT * FROM  `user` LEFT JOIN  `usergroups` ON  `usergroups`.`id` =  `user`.`user_group` WHERE user.id=".$id.";

Спустя 2 минуты, 45 секунд (12.05.2010 - 13:17) deathnote написал(а):
опечатку исправил, все выше запрос не работают ( не выводит он группы

Спустя 3 минуты, 6 секунд (12.05.2010 - 13:20) DedMorozzz написал(а):
Самый последний запрос работает точно, я твой дамп скопировал. Подставь 5 в конце. т.е. вот так вот:
SELECT * FROM  `user` LEFT JOIN  `usergroups` ON  `usergroups`.`id` =  `user`.`user_group` WHERE user.id=5


Спустя 5 минут, 30 секунд (12.05.2010 - 13:26) deathnote написал(а):
мне пишет вот это !

Resource id #9

делал вот это



$query = "SELECT * FROM `user` LEFT JOIN `usergroups` ON `usergroups`.`id` = `user`.`user_group` WHERE user.id=5";

echo $query;

$p = mysql_query($query);
echo $p;

Спустя 3 минуты, 38 секунд (12.05.2010 - 13:29) DedMorozzz написал(а):
тьфу ты. Этот кусок и надо было показывать. Сие не есть верно.
$query = "SELECT * FROM  `user` LEFT JOIN  `usergroups` ON  `usergroups`.`id` =  `user`.`user_group` WHERE user.id=5";
print_r(mysql_fetch_assoc($query ));

пробуй так. И чёт я подозреваю, что к базе нету конекта, хотя может и есть.

Спустя 5 минут, 26 секунд (12.05.2010 - 13:35) deathnote написал(а):
подключение к базе есть, иначе бы не приходил бы ид пользователя а он приходит, когда залогинелся то приходит его имя и ид, а вот вывод группы не работает

вставил то что вы написали выдал мну это

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in C:\xampp\htdocs\tupperware.ru\engine\include\chacuser.php on line 80


конект к базе есть

define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
include(ENGINE_DIR .'/data/dbconfig.php');


вывел этот код в отдельный файл в нем только вот это


<?php
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
include(ENGINE_DIR .'/data/dbconfig.php');

$query = "SELECT * FROM `user` LEFT JOIN `usergroups` ON `usergroups`.`id` = `user`.`user_group` WHERE user.id=5";
print_r(mysql_fetch_assoc($query ));
?>

Спустя 3 минуты, 59 секунд (12.05.2010 - 13:39) DedMorozzz написал(а):
да ну ты издеваешся, а где "mysql_query"??????

$query = mysql_query("SELECT * FROM `user` LEFT JOIN `usergroups` ON `usergroups`.`id` = `user`.`user_group` WHERE user.id=5");

Спустя 2 минуты, 8 секунд (12.05.2010 - 13:41) DedMorozzz написал(а):
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
$query = mysql_query("SELECT * FROM `user` LEFT JOIN `usergroups` ON `usergroups`.`id` = `user`.`user_group` WHERE user.id=5");
print_r(mysql_fetch_assoc($query ));
?>

Выводит: Array ( [id] => 6 [name] => admin [password] => 7bedb134a13e31f4e82b4a5899dd2c8b [user_group] => 6 [email] => arturnet@mail.ru [sid] => kdrf3fb6eea2alhailj9nhj1i7 [group_name] => Admin )

Спустя 45 секунд (12.05.2010 - 13:41) deathnote написал(а):
о_о, ой совсем запарился пропустил этот момент, сори да сейчас работает все ! благадарвсвую
Быстрый ответ:

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