$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
делал вот это
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");
$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 написал(а):
о_о, ой совсем запарился пропустил этот момент, сори да сейчас работает все ! благадарвсвую