作者yuleen123 (.......................)
看板PHP
標題Re: [請益] 能表格化區分資料嗎?
時間Wed Jul 20 19:43:29 2011
※ 引述《siren917 (HAPPY DAY)》之銘言:
: 剛接觸php..標題或內容表達不清楚請見諒^^"
: 有兩個資料表
: 資料表A 資料表B
: ————————— ——————————
: 日期|公司|單號 | 單號∣產品∣........
: ————————— ——————————
: 7/20|A ∣A0011∣ A0011∣橘子∣........
: ————————— ——————————
: 7/19∣B |B0011| A0011|蘋果∣........
: ————————— ——————————
: B0011|西瓜|........
: 我想做出能下查詢條件後撈資料
: 能表格化去區分這些資料
: ————————————
: 日期∣公司∣單號 ∣產品∣
: ————————————
: 7/20|A |A0001∣橘子∣
: ————————————
: ∣蘋果|
: ————————————
: 7/19|B ∣B0011|西瓜|
: ————————————
: 請問可以做出這種效果嗎0.0
: 多謝指教
這個分兩部份作會比較容易
首先你要先建立兩個連線, 以下稱為 $db_link1 和 $db_link2
第一步先用 $db_link1 下以下的 SQL 指令
select A_date, A_company, A_NO, (select count(B_NO) from B where A_NO=B_NO group by B_NO) as Total_Num from A order by A_company asc;
第二步寫一個迴圈把 $db_link1 裡的內容一一取出
for( $i = 0; $i < mssql_num_rows( $db_link1 ); $i++ )
{
$row = mssql_fetch_array( $db_link1 );
echo '<tr>';
echo '<td rowspan="'.$row("Total_Num").'">'.$row("A_date").'</td>';
echo '<td rowspan="'.$row("Total_Num").'">'.$row("A_company").'</td>';
echo '<td rowspan="'.$row("Total_Num").'">'.$row("A_NO").'</td>';
// 這裡使用 $db_link2 下以下的 SQL 指令取出清單
// "select B_product from B where B_NO='".$row("A_NO")."' order by B_product asc;"
// 取出資料後跑下面的迴圈
for( $j = 0; $i < mssql_num_rows( $db_link2 ); $j++ )
{
$list = mssql_fetch_array( $db_link2 );
echo '<td>'.$list("B_product").'</td>';
echo '</tr>';
if( $j < mssql_num_rows( $db_link2 )-1 )
echo '<tr>';
}
}
這樣網頁上就會呈現出你要的效果了
如果你只是單純的想要 SQL 撈出來的資料就長成你要得那樣
最大的限度只能得到以下的結果
————————————
日期∣公司∣單號 ∣產品∣
————————————
7/20|A |A0001∣橘子∣
————————————
7/20|A |A0001∣蘋果|
————————————
7/19|B ∣B0011|西瓜|
————————————
日期、公司、單號重複的部份並不會是空白
所以顯示的時候要經過一些處理
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.11.214
※ 編輯: yuleen123 來自: 114.41.11.214 (07/20 19:47)
→ siren917:謝謝大大的講解! 07/21 12:56
推 siren917:XD我後來做出那種效果是~設變數IF單號一樣只要印出產品 07/21 13:34