纳马斯蒂!
我目前正在从事我的一个项目,我有一个疑问。我正在做的是:
我有 4 张桌子叫:
1: project_degree
2: project_department
3: project_category
4: Projects
project_degree 拥有四个顶级学位,分别是:B.tech、M.tech、MCA 和 MBA
project_department有各自的部门如:CSE、IT、EEE等。
现在,project_category 有一些类别,如 PHP、.NET、SAP 等。
我正在尝试做的是,我将一个项目添加到名为“项目”的数据库中,并将其分配给它的学位、部门和类别。
项目表结构如下:
id | project name | degree_id | Dept_id | Cat_id
1 | Sample project | 1 | 3 | 4,3,6,5,9
现在正如您在上面看到的,字段“cat_id”有多个类别,每个类别 ID 都用逗号分隔。
现在,当我调用查询从名为“项目”的表中获取所有项目时,我想列出与该特定项目相关的类别,我的代码如下所示:
$query = mysql_query("SELECT * from projects ORDER BY id DESC");
while($row = mysql_fetch_array($query)) {
$categories = $row['cat_id'];
$cat_arr = explode(',',$categories);
$cat_size = sizeof($cat_arr);
for($i=0;$i<$cat_size;$i++) {
$get_cat = mysql_query("SELECT * from project_category WHERE id='".$cat_arr['$i']."'");
$cat_row = mysql_fetch_array($get_cat);
echo $cat_row['name']; // Here finally I'm getting categories name
}
}
所以,最后我运行嵌套循环和两个查询来获取类别名称。当涉及到大量数据时,我怀疑它会影响页面加载时间。这种情况有更好的选择吗?