【发布时间】:2013-05-04 07:56:13
【问题描述】:
我有两个数据库。第一个包含上传文件列表以及上传文件的对象和到期日期。这被存储为代表使用 implode 的每个等级的人的数字。所以列名“foagrade”在第一行有 10,11,12。第二个数据库是一个成绩列表,其中有 ID,例如 10 = 经理、11 = HR 等。我正在使用左连接和一个基本的 html 表来显示查询。
$result = mysqli_query($con,
"SELECT UPLOAD.id, UPLOAD.title, UPLOAD.faoGrade,UPLOAD.faoLocation, UPLOAD.date, UPLOAD.expiry, GRADE.ID, GRADE.GRADE as GR, GRADE.id
FROM UPLOAD
LEFT JOIN GRADE ON
UPLOAD.faoGrade=GRADE.ID
where owner=$user");
echo "<table id='previous'>
<tr>
<th>Title/Document name:</th>
<th>For attention of Grade</th>
<th>For Location</th>
<th>date</th>
<th>Date expires</th>
<th>Delete this briefing</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
$id=$row['id'];
echo "<tr>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['GR'] . "</td>";
echo "<td>" . $row['foaLocation']."</td>";
echo "<td>" . date("D, d M Y ",($row['date']));
echo "<td>" . date("D, d M Y ",($row['expiry']));
echo "<td><a href=pages/login/upload_delete.php?item=".$id.">delete</a></td> ";
echo "</tr>";
}
echo "</table>";
查询显示所有详细信息,但仅显示存储在列 faograde (MANAGER) 中的第一个等级,而不是 11 或 12。 我将如何爆炸或拆分这个?因此,对于此列中的每个数字,都会显示一个等级名称。我也必须对列“faoLocation”做同样的事情,但一次只处理一个问题。
【问题讨论】:
-
规范化不是一种选择吗?
-
不知道草莓从未使用过它,我会调查并告诉你。谢谢
-
另外,您选择了grade.id 两次 - 您的结果集将有 三个 列,称为
id。这会混淆您的应用程序级代码。 -
谢谢没注意到。