找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻伊莉需要你的贊助和支持認識好友、聊天,分享生活趣事
海賊王航海王人妖gesiro幼女惡靈古堡
海賊無雙婚戒物語時行者gba模擬no gametimelinkjac 041

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]最強肉盾的迷宮攻

[簡]通靈王 FLOWERS -

湖南湘潭 女老師因學

[繁]佐佐木與文鳥小嗶

〖高清繁〗霹靂天機貳

[繁]SYNDUALITY Noir
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 6043|回復: 13

[討論] 用php畫出取代excel的樣式[複製鏈接]

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-6-23 04:09 PM|顯示全部樓層
本帖最後由 goddamnx2 於 2014-6-23 04:14 PM 編輯

大家好
我之前都用excel表單來管理出租房的狀態如下
縱軸是日期,橫軸是房號
用顏色區隔哪間房在哪一天的狀態,有房的話就把儲存格變紅色
現在我想用php畫出excel表單
不過目前只把表格畫出來
如附件奇怪把code貼在<>裡面居然說我包含敏感文字)
...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

帖子
0
積分
0 點
潛水值
20 米
發表於 2014-6-23 06:10 PM|顯示全部樓層
樓主提供的table.txt目前只有到日期欄位,後面的寫法完全空白
而樓主也沒有提供資料庫結構,所以根本無從猜起你的欄位要怎麼放置

請樓主至少提供一下資料才有辦法進一步了解
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-6-23 11:06 PM|顯示全部樓層
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
本帖最後由 goddamnx2 於 2014-6-23 11:08 PM 編輯

我的資料表(orders)如下: 欄位分別為
oid (流水號)
odate (日期)
otime (房型)
order_payok (房間狀態)
ps:是這樣嗎?還是我乾脆貼出SQL語法

table.txt-->裡面只有日期的欄位
因為我試者想把 orders 資料表的資料套用在 table.txt
裡面失敗,所以想問怎摸把資料表套用在table.txt 裡面
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
663
積分
1128 點
潛水值
20810 米
發表於 2014-6-24 01:53 AM|顯示全部樓層
從PHP輸出的資料你只能先處理後輸出結果, 不能慢慢一層層加上去

舉例我要在網頁顯示1+1的數字, 我不能這樣
echo "<td>1<td>";
echo "<td>1<td>";

要的話我只能先整合去一個變數
$x = 1;
$x += 1;
echo "<td>$x<td>";

所以, 如果你要顯示的資料不是直接可以從DB得到(通過SQL), 那就在PHP先整合才輸出, 也可以2種同時做....
瀏覽完整內容,請先 註冊登入會員
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

帖子
0
積分
0 點
潛水值
20 米
發表於 2014-6-24 11:34 PM|顯示全部樓層
本帖最後由 night_moon 於 2014-6-25 03:36 PM 編輯

除了樓主提供的資料表外,目前需要每個房型有多少房間的資料~
假設樓主的 order_payok 欄位是指已定狀態(數字1代表已定,0代表未定),每個房型只有一間的狀態

你可以先把資料撈出來整理成一個陣列
$Data[日期][房型] = 已訂 || 無人訂
大部分應該就只會有已訂的資料,無人訂先不用管
...
瀏覽完整內容,請先 註冊登入會員





回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-6-29 10:20 PM|顯示全部樓層
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
大大
我的房型就一種,如果要照你說的把資料先撈出來整理成陣列
$order_payok=1/0  已訂 || 無人訂
$Data[日期][房型] = 已訂 || 無人訂
照我之前po的code,怎摸接下來用foreach,做成
$Data[日期][房型] = 已訂 || 無人訂??
  1. $link=@mysql_connect("localhost","root","123456")or die("資料庫選擇失敗!".mysql_error());
  2. mysql_select_db("myweb",$link);

  3. $sql="select odate,otime,order_payok from orders";
  4. $result=mysql_db_query("myweb",$sql,$link);
  5. while ($data=mysql_fetch_array($result) ){
  6. foreach ???????
  7. echo $data['order_payok'];

  8. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
663
積分
1128 點
潛水值
20810 米
發表於 2014-6-30 12:38 AM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
如果你房型只有一種, 那一樓的201, 301等等又是什麼呢?
為了避免大家繼續亂猜, 你可以貼上幾筆orders的資料嗎?
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-6-30 09:54 AM|顯示全部樓層
因為我們是小民宿,
基本上分成兩人房跟四人房
每間的風格都不一樣
201,301--不同樓層的雙人房
算不同房型,有些客人會指定特定的房間
變成我也要管理每間的狀況
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-7-1 11:47 PM|顯示全部樓層
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
如果以下面這個例子:
把資料撈出來成兩欄的表格
  1. $sql="select odate,otime,order_payok from orders ;
  2. $result=mysql_db_query("myweb",$sql,$link);
  3. echo "<table border='1'>";
  4. while (list($odate,$otime,$order_payok)=mysql_fetch_row($result) ){

  5.         echo "<tr><td> {$odate} </td><td>{$order_payok}</td> </tr>";

  6.         }
  7.         echo'</table>';
複製代碼
怎摸改把那兩欄的資料表改寫成 $odate為索引 $order_payok為值的陣列
謝謝

...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
663
積分
1128 點
潛水值
20810 米
發表於 2014-7-2 04:52 AM|顯示全部樓層
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
goddamnx2 發表於 2014-7-1 11:47 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

如果以下面這個例子:
把資料撈出來成兩欄的表格怎摸改把那兩欄的資料表改寫成 $odate為索引 $order_payok為 ...

$odate為索引(說key比較恰當, 因為他不是數字)$order_payok為值的寫法是
...
瀏覽完整內容,請先 註冊登入會員





使用道具檢舉

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-7-3 10:55 PM|顯示全部樓層
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
theloserbm 發表於 2014-7-2 04:52 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

$odate為索引(說key比較恰當, 因為他不是數字)$order_payok為值的寫法是
$data[$odate] = $order_payok

如果用下面這個code
接下來該怎摸做?
...
瀏覽完整內容,請先 註冊登入會員
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
663
積分
1128 點
潛水值
20810 米
發表於 2014-7-4 02:30 AM|顯示全部樓層
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
本帖最後由 theloserbm 於 2014-7-4 02:45 AM 編輯
goddamnx2 發表於 2014-7-3 10:55 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

如果用下面這個code
接下來該怎摸做?
}

如果你的目標是依日期整理(我已經說過你這樣做同日期會覆蓋), 那接下來就可以用loop來跑那個結果並顯示
...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 1

帖子
110
積分
140 點
潛水值
22720 米
發表於 2014-7-4 04:37 PM|顯示全部樓層
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 goddamnx2 於 2014-7-4 05:15 PM 編輯

我後來想了一下,以每個房間為資料表,這樣日期就不會有重複的情形
就可以簡化問題,我想要用日期當索引去得到每間房間當日的狀況
例如:我2014-07-01 房間的狀態是 0
code如下: 怎摸會出現兩個0,0 ?
  1. $sql="select odate,otime,order_payok from orders ";
  2. $result=mysql_db_query("myweb",$sql,$link);

  3. while($row = mysql_fetch_assoc($result)){
  4.     $key = $row['odate'];
  5.    
  6.     $query[$key]= $row['order_payok'];
  7.    
  8. }
  9.     foreach ($query as $key=>$value) {
  10.       echo $query["2014-07-01"];
  11.       // 視乎你想顯示什麼資料
  12.       
  13.     }        
複製代碼
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

帖子
0
積分
0 點
潛水值
20 米
發表於 2014-7-13 04:30 PM|顯示全部樓層
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
本帖最後由 night_moon 於 2014-7-13 04:33 PM 編輯
  1. $sql="select odate,otime,omoney,order_payok from orders ";
  2. $result=mysql_db_query("myweb",$sql,$link);
  3. $otimelist = array('201','301','303','102','202','302','禪風','愛情海','巴里島','普普風');
  4. while($row = mysql_fetch_assoc($result)){
  5.         $key1 = $row['odate']; //第一個key是日期
  6.         $key2 = $row['otime']; //第二個Key是房型
  7.         $query[$key1][$key2] = ($row['order_payok'] == 'Y'?$row['omoney']:0);
  8. }

  9. $DH = '<table><thead><tr><th>date</th><th>禮拜</th><th></th><th></th>';
  10. foreach ($otimelist as $h) {
  11.         $DH .= '<th>' . $h . '</th>';
  12. }
  13. $DH .= '</tr></thead><tbody>';
  14. foreach ($query as $d => $v) {
  15.         $DH .= '<tr><td>' . $d . '</td><td>' . date('N', strtotime($d)) . '</td>';
  16.         $DH .= '<td>' . ((count($otimelist) == count($v))?'滿':'') . '</td>';
  17.         $DH .= '<td></td>';
  18.         foreach ($otimelist as $h) {
複製代碼
以上程式只是在記事本上依據理論資料Keyin
樓主試試看吧...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部