2
嗨,大家好我有3个表存储我的数据,我想从他们那里获取数据,但是我的书面代码不工作,请有人告诉我我该怎么做?如何从php和mysql中的多个表中获取值
我的第一张表是“权限”,表示权限名称和id包含在这里。
CREATE TABLE IF NOT EXISTS `permission` (
`permission_id` int(11) NOT NULL,
`permission_description` varchar(50) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
第二个表是包含带角色id的角色名称的“角色”。
CREATE TABLE IF NOT EXISTS `role` (
`id` int(11) NOT NULL,
`role_group` int(11) NOT NULL,
`role_name` varchar(50) NOT NULL,
`role_description` varchar(50) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=latin1;
和第三个“role_permission”包括“permission”表中的哪些权限可以访问“role”表中的什么角色。
CREATE TABLE IF NOT EXISTS `role_permission` (
`id` int(11) NOT NULL,
`role_id` int(11) NOT NULL,
`permission_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
PHP:
$result3 = $dp->sql_query("select p.*, r.*, a.* from role_permission p, role r, permission a WHERE p.role_id = r.id AND p.permission_id = a.permission_id");
$rules = array();
while($rows3 = $dp->sql_fetchrow($result3))
{
$rules[] = array("title" => $rows3['permission_description'], // get value from "permission" table
"pages" => $row3['role_name'] . ", ", // get value from "role" table
"pdes" => $row3['role_description'] // get value from "role" table
);
}
$smarty->assign("rules", $rules);
HTML:
<div class="modal-body">
{foreach $rules as $rule}
<blockquote>
<p>
<strong>{$rule.title}:</strong>
<br>
<small>{$rule.pages}</small>
</p>
</blockquote>
{/foreach}
</div>
那么问题是什么?没有数据或错误的数据? – jarlh
http://dev.mysql.com/doc/refman/5.7/en/join.html – jeroen
我也加了我的html cod,错误的是我的html页面没有结果 – maxdom