Респект всем!такая проблема: есть 2 БД MySQL db1, db2 в db1 осущ-ся регистрация и авторизация юзера : table_userid,name,login..) table_user_detal(id,user_id,code...).Приче user.id= user_detal.id_user. По 2-й базе осуществляется выборка всех данных по данному юзеру,т.е. есть таблица chel(id,code....),причем db1.user_detal.code = db2.chel.code. Как сделать так,чтобы после авторизации юзер мог просматривать данные только по себе?Делаю.. $query = "SELECT a.code" . "\n FROM #__user_detal AS a" ."\n LEFT JOIN #__users AS b ON b.id = a.user_id"; $database->setQuery( $query); $code = htmlspecialchars($database->loadResult());... $link = mysql_connect(...)or die ("...."); $sel = mysql_select_db("db", $link)or die ("...."); { $where =" chel.code LIKE '%".$code."%' ; $mainsql = "SELECT .... и выборка все равно валит по всем?помогите плиз
Сейчас.Мне нужно соединить 2 БД таким образом,чтобы из одной бралось id авторизации юзера,а во второй по этому id выбирались все данные по этому пользователю.Но дело в том,что после авторизации юзер не должен иметь возможности просматривать данные ничьи кроме себя. db1.user_detal.code = db2.chel.code.-таким образом связаны 2 БД.Я выбираю юзера: $query = "SELECT a.code" . "\n FROM #__user_detal AS a" ."\n LEFT JOIN #__users AS b ON b.id = a.user_id"; $database->setQuery( $query); $code = htmlspecialchars($database->loadResult()); это к 1-й базе затем делаю запрос ко второй: $link = mysql_connect("host","root","")or die ("нет доступа"); $sel = mysql_select_db("db2", $link)or die ("нет доступа"); { $where =" chel.code LIKE '%".$code."%' ; $mainsql = "SELECT chel.description" ."\n WHERE ".$where ;и у меня данные выходят не по конкретному пользователю,который авторизовался,а в лучшем случае-по всем. Помогите,плиз.Очень надо(((
CREATE TABLE `jos_users` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT NULL default '', `username` varchar(25) NOT NULL default '', `email` varchar(100) NOT NULL default '', `password` varchar(100) NOT NULL default '', `usertype` varchar(25) NOT NULL default '', `sid` int(11) NOT NULL default '0', `telefone` varchar(250) default NULL, PRIMARY KEY (`id`), KEY `usertype` (`usertype`), KEY `idx_name` (`name`) ) TYPE=MyISAM AUTO_INCREMENT=71 ;стандартная таблица авторизации CREATE TABLE `jos_comprofiler` ( `id` int(11) NOT NULL default '0', `user_id` int(11) NOT NULL default '0', `firstname` varchar(100) default NULL, `middlename` varchar(100) default NULL, `lastname` varchar(100) default NULL, `cb_idcompani` varchar(30) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM;-это расширенная а во 2-й БД CREATE TABLE `contragent` ( `CODE` varchar(30) NOT NULL default '', `COMMENT` varchar(50) default '', `CONTACTS` varchar(50) default '', `CUSTOMER` tinyint(4) default '0', `DESCRIPTION` varchar(50) default '', `ID` int(11) NOT NULL default '0', `PHONES` varchar(50) default '', PRIMARY KEY (`ID`), ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; SELECT a.cb_idcompani" . "\n FROM #__comprofiler AS a" ."\n LEFT JOIN #__users AS b ON b.id = a.user_id"; этим запросом я ищу юзера,который сейчас авторизовался. потом я подвключаюсь ко 2-й БД: $link = mysql_connect("host", "root" ,"") or die ("нет доступа"); $sel = mysql_select_db("rest", $link)or die ("нет доступа"); SQL запрос: SELECT t1.ID, t1.QUALITYACT_NUM ,t1.ID_SENDER , t1.RESUME , t2.CODE, t3.CODE, t3.DESCRIPTION , t5.LOT_SCRAP, t5.COMMENT , t6.code, t6.doc_num,t10.DESCRIPTION , t11.CODE, t11.DESCRIPTION, FROM qualityact AS t1 LEF JOIN qualityactitem AS t8 ON t8.id_qualityact = t1.id, LEFT JOIN item AS t3 ON t3.ID = t8.id_item , LEFT JOIN qualitydefects AS t5 ON t5.ID_QUALITYACTITEM = t8.id, LEFT JOIN defectclass AS t11 ON t11.ID t5.ID_DEFECTCLASS, LEFT JOIN defects AS t10 ON t10.ID = t5.ID_DEFECTS, LEFT JOIN qualityact_decision AS t7 ON t7.ID =t1.ID_QUALITYACT_DECISION , LEFT JOIN contragent AS t2 ON t2.ID = t1.ID_SENDER(where t2.code = cb_idcontragent), LEFT JOIN doc AS t6 ON t6.id = t1.id не исключены огрехи синтаксиса. Вот надо,чтобы этот запрос выбирал все данные только по тому юзеру который авторизовался и нажимает кнопочку -поиск
SELECT a.cb_idcompani FROM #__comprofiler AS a LEFT JOIN #__users AS b ON b.id = a.user_id (where b.id =$my->id) тоже не помогает((