想通了,解决方案在下面!根据结果将输出数据格式化为表格
我正在被数据填充从数据库中使用以下结构的两个表的HTML表格:
Table 1:
------------------------------
|id|data|other_data|more_data|
------------------------------
Table 2:
--------------------------------
|id|entryId|fileType|other_data|
--------------------------------
我类似地接合这两个表:
SELECT * FROM table1 LEFT JOIN table2 ON table2.entryId = table1.id
样品退货:
------------------------------------------------------------
|id|data|other_data|more_data|id|entryId|fileType|other_data|
-------------------------------------------------------------
|1 |....|..........|.........|1| 1 |file1 |..........|
|1 |....|..........|.........|2| 1 |file2 |..........|
|2 |....|..........|.........|3| 2 |file1 |..........|
|2 |....|..........|.........|4| 2 |file2 |..........|
|3 |....|..........|.........|5| 3 |file1 |..........|
|4 |....|..........|.........|6| 4 |file2 |..........|
对于每种情况,我期望至少在e结果,通常两个,我想根据fileType
字段进行排序。 fileType可以是file1
或file2
。
<table>
<tr>
<td>file1 data here</td>
<td>file 2 data here</td>
</tr>
</table>
如果在结果没有文件1或文件2,插入一个破折号( - ),但始终保持该表以同样的方式构成,并以相同的顺序。我怎样才能做到这一点?我尝试了一个简单的if/else结构,但是我的逻辑错误,并且按顺序返回数据;我在解决问题时遇到了麻烦。
while(docs.next) {
if(docs.getString("fileType").equals("file1")) {
.....<td>file 1 data</td>
}
else if(docs.getString("fileType").equals("file2")){
.....<td>file 2 data</td>
}
}
与往常一样,您的帮助非常感谢!
**想通了,谢谢!解决方案:
我打破了逻辑分为两个查询,然后用你的建议是什么: - 第一个查询从表1抓取数据,建立HTML表格 - 设置两个变量(fileData1,fileData2)空 - 第二查询抓取数据如果结果存在,则循环查找匹配结果并更改实际值 - 循环后,打印具有结果的表格单元格**
这让我更接近解决我的问题,但不会这种力量我回去两行除了文件之外还有重复的数据。除了“fileType”字段外,我当前的查询返回两行中两行的数据都是相同的。我只想在一个单独的单元格中显示一个包含两个文件的表格行。 – ph34r 2012-04-06 14:10:46
我想出了使用你的建议,并分解成两个查询。我在我原来的问题中发布了解决方案。谢谢你的帮助! – ph34r 2012-04-06 14:33:02