抱歉我的英语不好。
所以这是我在数据库中的表。
course - lecturer - time
CSS --- John --- 8:00 AM, 2016/01/21, Sunday
CSS --- John --- 10:00 AM, 2016/01/23, Tuesday
CSS --- John --- 1:00 PM, 2016/01/25, Thursday
HTML --- Ben --- 10:00 AM, 2016/01/22, Monday
HTML --- Ben --- 8:00 AM, 2016/01/23, Tuesday
正如您所看到的,课程和讲师是重复的,但不同行的时间不同。每当我尝试从数据库中获取并查看到html页面时,它会为每一行创建一个表,这是一个愚蠢而不专业的。
我希望输出如下:
<table border=2>
<tr>
<td> course name : </td> <td colspan=3> css </td>
</tr>
<tr>
<td> lecturer : </td> <td colspan=3> John </td>
</tr>
<tr>
<td> time : </td> <td> 8:00 AM, 2016/01/21, Sunday </td> <td> 10:00 AM, 2016/01/23, Tuesday </td> <td> 1:00 PM, 2016/01/25, Thursday </td>
</tr>
</table>
我试过但我刚刚意识到我对PHP不够好。
这是我原来的PHP代码......
$qry="SELECT * FROM courses";
$results=mysql_query($qry);
if($results)
{
if(mysql_num_rows($results) > 0)
{
while ($rows = mysql_fetch_array($results))
{
echo "<center><table width=400 border=1>
<tr><td><b> Course Name : </b></td><td>". $rows["course"]."</td></tr>
<tr><td><b> Lecturer Name : </b></td><td>". $rows["lecturer"]."</td></tr>
<tr><td><b> Time : </b></td><td>". $rows["time"]."</td></tr>
</center></table><br>";
}
}
else {echo "<center>not available</center>";}
}
抱歉,如果我烦恼的话。
答案 0 :(得分:0)
你必须替换:
for (var i=0; i < result.rows.length; i++) {
myJson.push(result.rows.item(i));
}
与
$qry="SELECT * FROM courses";
$results=mysql_query($qry);
if($results)
{
if(mysql_num_rows($results) > 0)
{
while ($rows = mysql_fetch_array($results))
{
echo "<center><table width=400 border=1>
<tr><td><b> Course Name : </b></td><td>". $rows["course"]."</td></tr>
<tr><td><b> Lecturer Name : </b></td><td>". $rows["lecturer"]."</td></tr>
<tr><td><b> Time : </b></td><td>". $rows["time"]."</td></tr>
</center></table><br>";
}
}
else {echo "<center>not available</center>";}
}
这应该做到了。你必须在循环之外定义表,这就是你为每个行分隔表所用的原因。
希望它有所帮助。
答案 1 :(得分:0)
Use this
$qry="SELECT * FROM courses";
$results=mysql_query($qry);
$table = '<table width=400 border=1><thead><tr><th>Course Name</th><th>Lecturer Name</th><th>Time</th></tr></thead><tbody>';
if($results)
{
if(mysql_num_rows($results) > 0)
{
while ($rows = mysql_fetch_array($results))
{
$table .= '<tr>'
. '<td>' .$rows["course"]. '</td>'
. '<td>' .$rows["lecturer"]. '</td>'
. '<td>' . $rows["time"] . '</td>'
. '<tr>';
}
}
else {echo "<tr><td>Data not available</td></tr>";}
}
$table .= '</tbody>'
. '</table>';
答案 2 :(得分:0)
试试这个SQL:
<?php
$qry = "SELECT DISTINCT lecturer, course,
(SELECT GROUP_CONCAT(time) FROM lectures WHERE lecturer = L.lecturer)
AS times FROM lectures L";
$results=mysql_query($qry);
if($results)
{
if(mysql_num_rows($results) > 0)
{
?>
<table>
<?php
while ($rows = mysql_fetch_array($results))
{
echo "<tr><td><b> Course Name : </b></td><td>". $rows["course"]."</td>
<td><b> Lecturer Name : </b></td><td>". $rows["lecturer"]."</td>
<td><b> Times : </b></td><td>". $rows["times"]."</td></tr>";
}
}
else {echo "<center>not available</center>";}
}
?>
</table>
将输出:
lecturer course times
John CSS 2015-10-15 05:14:00,2015-10-16 09:21:18,2015-10-23 07:15:15
Ben HTML 2015-10-23 07:19:19,2015-10-30 09:17:18