Board logo

標題: [php]我想table的tr每行梅花間竹顏色顯示失效 [打印本頁]

作者: C.Andyclp    時間: 2008-12-28 02:38     標題: [php]我想table的tr每行梅花間竹顏色顯示失效

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 02:53

有D亂...
等我一陣..
幫你執執佢..
作者: C.Andyclp    時間: 2008-12-28 02:57

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:05

1. echo用得太多..而且有d煩..建議用<?=$var;?>
2. $row既[]入面可以用mysql欄位名稱(記得加引號)..唔一定要用數字搵返第幾個column..咁樣亦都方便自己睇
3. for loop既結尾擺錯左位..導致html結構出錯..有可能係失敗主因
4. 判斷$i%2果度可以用 $bgcolor = ($i%2) ? '#FF5500' : '#FF3300';
其中括號內係判斷條件, 而問號之後既[Yes] : [No];
[Yes] 代表條件符合, [No]代表不符合;
咁樣寫代碼比較簡潔
只需要係html部份用以下句式<tr bgcolor="<?=$bgcolor;?>">即可
5. <td>內文斷行要使用<br /> tag, 否則瀏覽器唔會顯示斷行

[ 本帖最後由 hkjoey 於 2008-12-28 03:05 編輯 ]
作者: hkjoey    時間: 2008-12-28 03:06

deleted...

[ 本帖最後由 hkjoey 於 2008-12-28 04:04 編輯 ]
作者: C.Andyclp    時間: 2008-12-28 03:08

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:09

原帖由 C.Andyclp 於 2008-12-28 03:08 發表


不過仲有一個問題,我直接係mysql修改客戶名字時打了中文,瀏覽器輸出「???」咁樣

校對係 utf8_general_ci


html編碼用返utf8就得
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
複製代碼

作者: C.Andyclp    時間: 2008-12-28 03:11

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:13

原帖由 C.Andyclp 於 2008-12-28 03:11 發表


依家客戶都重覆埋@@ 3個變9個

有冇完整source code睇...
就咁睇一段唔知你上文下理有冇loop多左..
作者: C.Andyclp    時間: 2008-12-28 03:13

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:14

岩岩已經搵到原因..
for loop close左..
但係while()果度有open無close..
作者: C.Andyclp    時間: 2008-12-28 03:15

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:15

原帖由 C.Andyclp 於 2008-12-28 03:13 發表


全部變晒亂碼...
如果無改...就只得mysql輸出中文果度變亂碼
本身php的繁體字則無弭

.php另存做unicode編碼格式
作者: C.Andyclp    時間: 2008-12-28 03:18

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:21

原帖由 C.Andyclp 於 2008-12-28 03:18 發表


都係一樣..我用EmEditor的

我用開DW...
入面有得convert編碼...

如果都係唔得你試下用ConvertZ轉晒佢先啦..

[ 本帖最後由 hkjoey 於 2008-12-28 03:57 編輯 ]
作者: hkjoey    時間: 2008-12-28 03:24

原帖由 C.Andyclp 於 2008-12-28 03:18 發表


都係一樣..我用EmEditor的

即係會咁:

客戶名稱:Mr. Tim[????]
客戶電郵 tinyiwong@msn.com

[ 查看詳細資料... ]


用phpmyadmin睇會唔會亂碼先?
如果唔亂就關php編碼事..
亂左的話就係db既setting唔岩
作者: C.Andyclp    時間: 2008-12-28 03:25

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:25

轉編碼記得copy一份backup先...
否則轉錯左會奶野..

原帖由 C.Andyclp 於 2008-12-28 03:25 發表


phpmyadmin 睇正常


咁你轉晒d php做utf-8先...
都係唔得就再係"最前面"加多句
mysql_query("SET NAMES 'UTF8'");

[ 本帖最後由 hkjoey 於 2008-12-28 03:27 編輯 ]
作者: C.Andyclp    時間: 2008-12-28 03:25

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:28

原帖由 C.Andyclp 於 2008-12-28 03:25 發表


即係邊度close返?


我post左係page 1..
for loop end左之後
作者: C.Andyclp    時間: 2008-12-28 03:29

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-28 03:34

http://www.hkepc.com/forum/viewt ... ;page=1#pid17883547

將呢個前後加返include應該ok..
唔得既話pm我啦..
我去水版喇..
作者: hkjoey    時間: 2008-12-28 04:03

咁樣應該易睇d...[attach]778418[/attach]

  1. <?php include("header.php") ?>
  2. <tr align="left">
  3.      <td>
  4.    <?php
  5.     $sql = "SELECT * FROM easypan ORDER BY sn DESC ";
  6.     $result = mysql_query($sql);
  7.             ?>
  8.             <table width="100%" border="0" cellpadding="4" cellspacing="4">
  9.             <?php
  10.              while ($row = mysql_fetch_row($result)){               
  11.                  $color = mysql_num_rows($result);
  12.                  for ($i=0; $i<$color; $i++){
  13.                      $bgcolor = ($i%2==0) ? '#FF5500' : '#FF3300';
  14.      }
  15.             ?>
  16.                 <tr bgcolor="<?=$bgcolor;?>">
  17.                     <td>
  18.                         <b>Client Name:</b><?=$row[2];?> <u><?=$row[1];?></u>[<?=$row[4];?>]<br />
  19.                         <b>Mail:</b><a href="mailto:<?=$row[9];?>"> <?=$row[9];?></a><br />
  20.                         [ <a href="index.php?id=<?=$row[0];?>">Details</a> ]
  21.                     </td>
  22.                 </tr>
  23.             <?php
  24.              }
  25.             ?>
  26.    </table>
  27.   </td>
  28. </tr>
  29. </table>
  30. <?php include("footer.php") ?>
複製代碼

[ 本帖最後由 hkjoey 於 2008-12-28 04:03 編輯 ]
作者: hkjoey    時間: 2008-12-28 09:04

岩岩再review一次..
發現左你個template原來好有問題...

header.php
1. 連<html>都未開就已經有野output (頭幾行echo果幾行)..唔符合標準
2. 同埋果幾行echo有d多餘..直出html都ok..

footer.php
1. 用echo都係多餘..無<? ?> tag都可以係.php file

多個用echo出普通html既壞處:
1. 以效能而言..直出html永遠都係最理想..因為php engine唔會處理無<? ?> 以外既script
2. 而且下下都用echo..會加大左個file size..令載入時間增加..(雖然好少)
3. 用echo遇到d引號要加反斜線..煩之餘亦再次加大file size..

雖然係微不足道..但係有好既習慣先有好既程式..
所以唔使經處理再輸出既文字(or html)建議你盡量直出..
作者: C.Andyclp    時間: 2008-12-28 23:13

提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp    時間: 2008-12-28 23:14

提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp    時間: 2008-12-29 00:35

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey    時間: 2008-12-29 00:51

原帖由 C.Andyclp 於 2008-12-28 23:13 發表


$result = mysql_query($sql); 改成

mysql_query($sql,"SET NAMES 'UTF8'"); 咁?

唔係...加呢句野目的係確保接下來所有sql都係以utf-8為編碼

所以應該係成個程式未做任何野之前就加左先
作者: Katecca    時間: 2008-12-29 07:58

原帖由 C.Andyclp 於 2008-12-28 03:13 發表


全部變晒亂碼...
如果無改...就只得mysql輸出中文果度變亂碼
本身php的繁體字則無弭


執行你句SQL前, 先加多句:
mysql_query("SET NAMES UTF8");





歡迎光臨 電腦領域 HKEPC Hardware (https://h0.hkepc.com/forum/) Powered by Discuz! 7.2