簡體   English   中英

檢索多個數據並顯示為單行

[英]Retrieve multiple data and display to a single row

我在下面的表格是我查詢的結果,

Status |Tasks|Owner|Details
-------------------------------
OnGoing|test |test |2016-09-01
                    test a
OnGoing|test |test |2016-09-02
                    test b
OnGoing|test |test |2016-09-03
                    test c 

我想發生的是,如果“任務”類似於“ test而“狀態”類似於“ OnGoing ,它將顯示在下面的“詳細信息”列下的一行中,

Status |Tasks|Owner|Details
-------------------------------
OnGoing|test |test |2016-09-01
                    test a
                    2016-09-02
                    test b
                    2016-09-03
                    test c 

我目前的查詢是

$sql="SELECT date, status, task, owner, details
        FROM tracker
        WHERE date BETWEEN '" . $date . "' AND '" . $date1 . "'
        ORDER BY date, status";

這是我的桌子的代碼,

echo "<table width='auto' cellpadding='1px' cellspacing='0px' border=1 align='center'>
<tr>
<th align='center' style='border:dotted 1px;' bgcolor='#66CC00'><font color='#FFFFFF'><strong>Status</strong></font></th>
<th align='center' style='border:dotted 1px;' bgcolor='#66CC00'><font color='#FFFFFF'><strong>Tasks</strong></font></th>
<th align='center' style='border:dotted 1px;' bgcolor='#66CC00'><font color='#FFFFFF'><strong>Owner/s</strong></font></th>
<th align='center' style='border:dotted 1px;' bgcolor='#66CC00'><font color='#FFFFFF'><strong>Details</strong></font></th>
</tr>"; 

while($result = mysql_fetch_array($myData)) 
{
{
$status = $result['status'];
$status = str_replace("\r\n", "<br>", $status);
$status = str_replace("\r", "<br>", $status);
$status = str_replace("\n", "<br>", $status);

$task = $result['task'];
$task = str_replace("\r\n", "<br>", $task);
$task = str_replace("\r", "<br>", $task);
$task = str_replace("\n", "<br>", $task);

$owner = $result['owner'];
$owner = str_replace("\r\n", "<br>", $owner);
$owner = str_replace("\r", "<br>", $owner);
$owner = str_replace("\n", "<br>", $owner);

$date = $result['date'];
$date = str_replace("\r\n", "<br>", $date);
$date = str_replace("\r", "<br>", $date);
$date = str_replace("\n", "<br>", $date);

$details = $result['details'];
$details = str_replace("\r\n", "<br>", $details);
$details = str_replace("\r", "<br>", $details);
$details = str_replace("\n", "<br>", $details);

echo "<form action='get_test.php' method='post'>";
echo"<tr>"; 
echo  "<td align='center'>" . $result['status'] . "<input type=hidden name=status value=" . $result['status'] . " </td>";
echo  "<td align='center'>" . $result['task'] . "<input type=hidden name=task value=" . $result['task'] . " </td>";
echo  "<td align='center'>" . $result['owner'] . "<input type=hidden name=owner value=" . $result['owner'] . " </td>";
echo  
"<td align='left' width='auto'>
" . $date . "<input type=hidden name=date value=" . htmlspecialchars($date) . " /><br>
" . $details . "<input type=hidden name=details value=" . htmlspecialchars($details) . " /> </td>";
"</tr>"; 
echo "</form>";
}
}
echo "</table>";

您可以嘗試group_concat ,例如

select status, task, owner, group_concat(date, details order by date separator ' ')
from tracker
where date between '" . $date . "' and '" . $date1 . "'
group by status, task, owner
order by status

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM