PHPHTMLASPJSP制作动态表格必备小技巧.docx
《PHPHTMLASPJSP制作动态表格必备小技巧.docx》由会员分享,可在线阅读,更多相关《PHPHTMLASPJSP制作动态表格必备小技巧.docx(27页珍藏版)》请在冰豆网上搜索。
PHPHTMLASPJSP制作动态表格必备小技巧
PHP动态表格制作常用小技巧
1、用JS動態生成HTML表格;
functionaddRow(){//新增
varlength=document.getElementById("table").rows.length;
vartr=document.createElement("tr");
tr.id=length+1;
for(i=1;i<9;i++){
vartd=document.createElement("td");
vare=document.createElement('input');//td.id=tr.id+"/"+i;
e.name='colum'+i+'[]';
e.type='text';
e.size='5';
//e.style='border:
0;border-bottom:
1solidblack;background:
;';
td.appendChild(e);//document.createTextNode()
tr.appendChild(td);
}
document.getElementById("newbody").appendChild(tr);
}
在定義表格的時候要加上
2、點擊submit能提交多行數據到數據庫中。
在生成HTML表格的時候要用e.name='colum'+i+'[]';name是數組形式
提交的時候
for($i=0;$i{
if($_POST['colum1'][$i]!
='')
{
$data['billname']=$_POST['colum1'][$i];
$data['width']=$_POST['colum2'][$i];//localtime();//getdate('Y-m-dH:
m:
s');//date("Y-m-d")
$data['colornumber']=$_POST['colum3'][$i];
$data['unit']=$_POST['colum4'][$i];
$data['quantity']=$_POST['colum5'][$i];
$data['deadline']=$_POST['colum6'][$i];
$data['note']=$_POST['colum7'][$i];
$data['daily']=$_POST['colum8'][$i];
$data['item']=$_POST['colum'][$i];
$this->myorder->insert_order($data);
在一個循環裏面實現多次提交。
3、計數器
$fp=fopen("counter.txt","r");
$num=fgets($fp);
fclose($fp);
$num++;
$fp=fopen("counter.txt","w");//將加一後的數值再次寫入原來的檔。
fputs($fp,$num);
fclose($fp);
//輸出加一後的數值,即可
這種情況需要在相應的目錄創建一個txt的文檔,和對應的文檔名稱。
想要往本頁面跳轉的話可以使用phpecho$_SERVER[‘PHP_SELF’]’>這樣的方式
使用JS腳本的時候要注意執行的順序,不能在對象未產生以前就調用
用來過的焦點的函數
Document.getElementById(‘’).focus();
一個能彌補undefine錯誤的一個小技巧,
If(isset($abc))
{}
Else
{}
HTML頁面轉UTF-8編碼問題
1.在
後,前加入一行:
順序不能錯,一定要在
標籤前加入,否則如果與之間有中文字元的話,
顯示的標題有可能是亂碼!
2.html檔編碼問題:
本部分設定了隱藏,您已回復過了,以下是隱藏的內容
點擊編輯器的功能表:
“檔”->“另存為”,可以看到當前檔的編碼,確保檔編碼為:
UTF-8,
如果是ANSI,需要將編碼改成:
UTF-8。
3.HTML文件頭BOM問題:
將檔從其他的編碼轉換成UTF-8編碼時,有時候會在檔的最開始加上一個BOM標籤,
在個BOM標籤可能會導致流覽器在顯示中文的時候出現亂碼。
刪除這個BOM標籤的方法:
1.可以用Dreamweaver打開檔,並重新保存,即可以去除BOM標籤!
2.可以用EditPlus打開檔,並在功能表“首選項”->“檔”->"UTF-8標識",設置為:
“總是刪除簽名”,
然後保存檔,即可以去除BOM標籤!
4.WEB伺服器UTF-8編碼問題:
如果你按以上所列的步驟做了,還是有中文亂碼問題,
請檢查你的所使用的WEB伺服器的編碼問題
如果你使用的是Apache,請將配置檔裏的:
charset設成:
utf-8(這裏僅列出方法,具體格式請參考apache的配置檔)
如果你使用的是Nginx,請將nginx.conf裏的:
charset 設成utf-8,
具體找到"charset gb2312;"或者類似的語句,改成:
“charset utf-8;”。
--------------------------------------------------------------------------------
二.PHP頁面轉UTF-8編碼問題
1.在代碼開始出加入一行:
header("Content-Type:
text/html;charset=utf-8");
2.PHP檔編碼問題
本部分設定了隱藏,您已回復過了,以下是隱藏的內容
點擊編輯器的功能表:
“檔”->“另存為”,可以看到當前檔的編碼,確保檔編碼為:
UTF-8,
如果是ANSI,需要將編碼改成:
UTF-8。
3.PHP文件頭BOM問題:
PHP檔一定不可以有BOM標籤
否則,會出現session不能使用的情況,並有類似的提示:
Warning:
session_start()[function.session-start]:
Cannotsendsessioncachelimiter-headersalreadysent
這是因為,在執行session_start()的時候,整個頁面不能有輸出,但是當由於前PHP頁面存在BOM標籤,
PHP把這個BOM標籤當成是輸出了,所以就出錯了!
所以PHP頁面一定要刪除BOM標籤
刪除這個BOM標籤的方法:
1.可以用Dreamweaver打開檔,並重新保存,即可以去除BOM標籤!
2.可以用EditPlus打開檔,並在功能表“首選項”->“檔”->"UTF-8標識",設置為:
“總是刪除簽名”,
然後保存檔,即可以去除BOM標籤!
4.PHP以附件形式保存檔的時候,UTF-8編碼問題:
PHP以附件形式保存檔,檔案名必須是GB2312編碼,
否則,如果檔案名中有中文的話,將是顯示亂碼:
如果你的PHP本身是UTF-8編碼格式的檔,
需要將檔案名變數由UTF-8轉成GB2312:
iconv("UTF-8","GB2312","$filename");
5.截斷顯示文章標題時,出現亂碼或者“?
”問號的問題:
一般文章標題很長的時候,會顯示一部分標題,會對文章標題進行截斷,
由於一個UTF-8編碼格式的中文字元會佔用3個字元寬度,
截取標題的時候,有時會只截取到一個中文字元的1個字元或2字元寬度,
沒截取完整,將出現亂碼或“?
”問號的情況,
用下麵的函數截取標題,就不會有問題:
functionget_brief_str($str,$max_length)
{
echostrlen($str)."
";
if(strlen($str)>$max_length)
{
$check_num=0;
for($i=0;$i<$max_length;$i++)
{
if(ord($str[$i])>128)
$check_num++;
}
if($check_num%3==0)
$str=substr($str,0,$max_length)."...";
elseif($check_num%3==1)
$str=substr($str,0,$max_length+2)."...";
elseif($check_num%3==2)
$str=substr($str,0,$max_length+1)."...";
}
return$str;
}
--------------------------------------------------------------------------------
三.MYSQL資料庫使用UTF-8編碼的問題
本部分設定了隱藏,您已回復過了,以下是隱藏的內容
1.用phpmyadmin創建資料庫和資料表
創建資料庫的時候,請將“整理”設置為:
“utf8_general_ci”
或執行語句:
CREATEDATABASE`dbname`DEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;
創建資料表的時候:
如果是該欄位是存放中文的話,則需要將“整理”設置為:
“utf8_general_ci”,
如果該欄位是存放英文或數位的話,默認就可以了。
相應的SQL語句,例如:
CREATETABLE`test`(
`id`INTNOTNULL,
`name`VARCHAR(10)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,
PRIMARYKEY(`id`)
)ENGINE=MYISAM;
2.用PHP讀寫資料庫
在連接資料庫之後:
[hide]$connection=mysql_connect($host_name,$host_user,$host_pass);
加入兩行:
mysql_query("setcharacterset'utf8'");//讀庫
mysql_query("setnames'utf8'");//寫庫
就可以正常的讀寫MYSQL資料庫了。
--------------------------------------------------------------------------------
四.JS相關的UTF-8