




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
動態網頁編程基礎第4章創建列表信息頁面文件創建列表信息頁面文件本章重點:intval等變量數據類型轉換函數及用法PHP分頁顯示技術PHP三目運算符及使用數據合法性檢查及錯誤信息提示框的實現信息搜索的實現及搜索頁面的設計
trim等刪除字符串兩端空格函數及用法switch條件語句及用法數據庫模糊查找方法及應用創建列表信息頁面文件4.1新建信息列表程序頁面4.1.1案例綜述本任務完成list.php頁面的新建、URL參數處理、分頁相關部分參數的建立和設置等功能。創建列表信息頁面文件4.1新建信息列表程序頁面4.1.2
操作步驟①打開資源包“php_myedu123_01”中的“codes/list.htm”文件,并選擇“代碼”視圖模式;②在“<head>”前輸入文件頭注釋。<?/*REM#####################################################################REMFileName:list.phpREMCreatedBy: Greenbud.Chen 2014-09-01 建立源文件REMDescription: 列表信息顯示REMIncludeFiles:i_myedu123_head.php、i_myedu123_bottom.php i_myedu123_connectionstring.phpREMProject: 我的教育網REMVersion: v1.00REMCopyright(c)2014GreenbudWorkGroupAllrightsreserved.REM#######################################################################*/?>創建列表信息頁面文件4.1新建信息列表程序頁面4.1.2
操作步驟③在隨后的行中輸入數據庫連接字符串包含文件“<?include"../inc/i_myedu123_connectionstring.php";?>”。④將“<!--headstart-->”與“<!--headend-->”之間的代碼替換成“<?include"../inc/i_myedu123_head.php";?>”。⑤將“<!--bottomstart-->”與“<!--bottomend-->”之間的代碼替換成“<?include"../inc/i_myedu123_bottom.php";?>”。⑥將“list.htm”另存到網站的“codes”文件夾中,文件命名為“list.php”。創建列表信息頁面文件4.1新建信息列表程序頁面4.1.2
操作步驟⑦在“<head>”前輸入如下代碼。<?$nPageSize=10;//設定每頁信息條數$strInfoView="ViewGls";//初始化查詢視圖名變量$strInfoFile="art_info.php";//初始化信息顯示網頁PHP文件名變量$strCatID=$_REQUEST["ChannelID"];//獲取客戶端瀏覽器傳遞給服務器的ChannelID$nPageCount=$_REQUEST["Page"];//獲取客戶端瀏覽器傳遞給服務器的當前頁碼if(!is_numeric($strCatID)){$strCatID=0;}//如果strCatID為非數字,則置為0$nPageCount=intval($nPageCount);//將nPageCount轉換成整數if($nPageCount<=0){$nPageCount=1;}//如果nPageCount為小于1的數字,則置為1if($strCatID<=0){die("參數錯誤!");}//獲取CatName和CatType,確定查詢視圖名和信息顯示網頁PHP文件名$pdo=newPDO($strDSN,$strDBName,$strDBPWD);$strSQL="selectCatName,CatTypefromViewCatalogwhereCatID='{$strCatID}'";$rst=$pdo->query($strSQL);if($rstCat=$rst->fetch()){ $strCatName=$rstCat["CatName"];//得到類別代碼 if($rstCat["CatType"]>0)//如果得到的類別類型大于0,則該欄目為資源下載類型 { $strInfoView="ViewResDownload"; $strInfoFile="res_info.php"; }}else{ die("欄目不存在!");}?>創建列表信息頁面文件4.1新建信息列表程序頁面4.1.2
操作步驟⑧將“<title>”修改為“<title>綠蕾教育-綠蕾工作組[<?=$strCatName?>]列表信息</title>”。⑨按F12鍵預覽網頁(單擊“否”按鈕,上傳相關文件),將得到“參數錯誤!”的提示。⑩在瀏覽器地址欄的URL后面追加“?ChannelID=02”字符串并回車,注意查看瀏覽器標題發生的變化。創建列表信息頁面文件4.1新建信息列表程序頁面知識拓展intval函數intval函數可將變量轉成整數類型。語法:intval(mixed,int)參數:mixed:被轉換的變量,必須,可以為數組或類之外的任何類型變量。int:,轉換的基底,可選,默認值為10。類似的轉換函數還有以下6個。(1)doubleval(mixed):可將變量轉成倍浮點數類型。(2)strval(mixed):可將數組及類之外的變量類型轉換成字符串類型。創建列表信息頁面文件4.1新建信息列表程序頁面做一做①參照3.2,寫出完整的“位置導航”程序段并上機調試。②參照3.3,寫出完整的“欄目列表”程序段并上機調試。③參照3.4,寫出完整的“精品推薦”程序段并上機調試。④寫出完整的“本類熱點”、“欄目熱點”和“欄目精品”程序段并上機調試。注:①在修改list.php時不要忘了修改相應的文件頭注釋信息。②讀取“精品推薦”、“本類熱點”、“欄目熱點”和“欄目精品”的信息時,應根據不同的信息類型分別從不同的數據表中讀取,而顯示時的鏈接也要根據不同的信息類型選擇不同的三級頁面。創建列表信息頁面文件4.2分頁技術(列表信息讀取與顯示)4.2.1案例綜述分頁顯示是信息列表頁面的主要任務,分頁技術包括按指定要求篩選符合條件的信息、顯示列表信息、設定翻頁工具欄等。本任務完成按類別分頁顯示列表信息并設定如圖4-1所示的翻頁工具欄,每頁顯示$nPageSize條信息。圖4-1翻頁工具欄創建列表信息頁面文件4.2分頁技術(列表信息讀取與顯示)4.2.2
操作步驟①用Dreamweaver打開“list.php”文件。②修改注釋,在“REMDescription:列表信息顯示”前輸入一行“REMModifyBy: Greenbud.Chen 2014-09-02 分頁技術(列表信息讀取與顯示)”。③將代碼“<h2>當前分類:</h2>”修改為“<h2>當前分類:<?=$strCatName?></h2>”。④讀取一頁列表信息,在“<h2>當前分類:</h2>”之后輸入如下代碼。<?//獲取符合條件的記錄總數$strSQL="selectcount(*)astotalrecfrom{$strInfoView}"."whereleft(CatID,".strlen($strCatID).")='{$strCatID}'";$rst=$pdo->query($strSQL);$rstInfo=$rst->fetch();$nTotalRec=$rstInfo["totalrec"];//得到記錄總數$nTotalPages=intval($nTotalRec/$nPageSize);//計算得到總頁數的整數部分if($nTotalRec%$nPageSize>0)//如果總記錄數不被每頁行數整除,則1{ $nTotalPages=$nTotalPages+1;}//設置搜索條件字符串值,即left(CatID,$strCatID的長度)=$strCatID$strSeek="left(CatID,".strlen($strCatID).")='{$strCatID}'";if($nPageCount==1)//如果是第一頁,則select不嵌套,否則嵌套{ $strSQL="selecttop{$nPageSize}ID,Title,Brief,Author,CatName,[Level],Hits,UpdateTime,". "Starsfrom{$strInfoView}where{$strSeek}orderbyIDDesc";}else{ $strSQL="selecttop{$nPageSize}ID,Title,Brief,Author,CatName,[Level],Hits,UpdateTime,". "Starsfrom{$strInfoView}where{$strSeek}". "andIDnotin(selecttop".($nPageCount-1)*$nPageSize."ID". "from{$strInfoView}where{$strSeek}orderbyIDDesc)orderbyIDDesc";}//echo$strSQL;$rst=$pdo->query($strSQL);while($rstInfo=$rst->fetch()){?>創建列表信息頁面文件4.2分頁技術(列表信息讀取與顯示)4.2.2
操作步驟⑤輸出列表信息,緊接上述代碼,并修改“<divclass="list_1_2_2_div">”層內代碼如下所示。<divclass="list_div_1"><ahref="<?=$strInfoFile?>?ID=<?=$rstInfo["ID"]?>"target=_blank><?=$rstInfo["Title"]?></a></div><divclass="list_div_2">·<?=$rstInfo["Brief"]?></div><divclass="list_div_3"><p>作者:<span><?=$rstInfo["Author"]?></span></p><p>類別:<span><?=$rstInfo["CatName"]?></span></p><p>級別:<span><?=$rstInfo["Level"]?></span></p><p>點擊:<span><?=$rstInfo["Hits"]?></span></p><p>添加:<span><?=date('Y-m-d',strtotime($rstInfo["UpdateTime"]))?></span></p><p>星級:<span><fontcolor=#009999><?=str_repeat("★",$rstInfo["Stars"])?></font></span></p></div></div><?}?>創建列表信息頁面文件4.2分頁技術(列表信息讀取與顯示)4.2.2
操作步驟⑥顯示分頁工具欄,將“<divclass="show_page">”域內代碼修改為如下所示。共
<b><?=$nTotalRec?></b>條信息 <ahref="list.php?ChannelID=<?=$strCatID?>&Page=1">首頁</a> <ahref="list.php?ChannelID=<?=$strCatID?>&Page=<?=$nPageCount-(nPageCount>1?1:0)?>">上一頁</a> <ahref="list.php?ChannelID=<?=$strCatID?>&Page=<?=$nPageCount>=$nTotalPages?$nPageCount:$nPageCount+1?>">下一頁</a> <ahref="list.php?ChannelID=<?=$strCatID?>&Page=<?=$nTotalPages?>">尾頁</a>
頁次:<strong><fontcolor=red><?=$nPageCount?></font>/<?=$nTotalPages?></strong>頁 <b><?=$nPageSize?></b>條信息/頁
轉到:<selectonchange=javascript:location.href=this.options[this.selectedIndex].value;size="1"name="page"><?for($i=1;$i<=$nTotalPages;$i++){echo"<optionvalue='list.php?ChannelID=".$strCatID."&Page=".$i."'".($i==$nPageCount?"selected":"").">第".$i."頁</option>";}?></select>⑦按F12鍵預覽網頁,單擊“是”按鈕,上傳相關文件。在隨后打開的瀏覽器地址欄的URL后面追加“?ChannelID=02”字符串并回車。創建列表信息頁面文件4.2分頁技術(列表信息讀取與顯示)知識拓展拓展1分頁技術分頁技術的關鍵在于如何正確篩選指定的信息,本程序采用了Select嵌套方法來讀取指定的信息:selecttop行數字段列表from表where條件andIDnotin(selecttop(當前頁數-1)*行數IDfrom表where條件orderbyIDDesc)orderbyIDDesc它表示從數據表中除去已經被顯示的信息“(當前頁數-1)*行數”后,再篩選符合條件的最新信息。創建列表信息頁面文件4.2分頁技術(列表信息讀取與顯示)知識拓展拓展2三目運算符PHP的三目運算符由兩個表示符號即問號、冒號等組成。三目運算格式:exp1?exp2:exp3如果exp1的結果為true則返回exp2的值,否則返回exp3的值。例如:$a=4;$b=3;$d=($a>$b)?5:7;echo"d=".$d;輸出結果為:d=5$a=2;$b=3;$d=($a>$b)?5:7;echo"d=".$d;輸出結果為:d=7創建列表信息頁面文件4.3新建搜索列表信息文件4.3.1案例綜述搜索列表信息頁面(search.php)的功能是按頁顯示符合搜索關鍵字的信息列表。本網站提供了3種方式的搜索功能。
站內搜索:按關鍵字搜索圖文及資源信息。$Opt=1,從ViewGlsRes視圖
中篩選。
字母搜索:按標題第一個英文字母或拼音字母搜索資源信息。$Opt=2,
從ViewRes視圖中篩選。
綠蕾搜索:按關鍵字、標題、內容全面搜索圖文及資源信息。$Opt=3,
從ViewGlsRes視圖中篩選。創建列表信息頁面文件4.3新建搜索列表信息文件4.3.1案例綜述調用頁面傳遞的參數有$Opt和$KeyWord兩個。本任務完成的search.php頁面的新建、URL參數處理、分頁相關部分參數的建立和設置等功能。創建列表信息頁面文件4.3新建搜索列表信息文件4.3.2
操作步驟①打開資源包“php_myedu123_01”中的“codes/search.htm”文件,并選擇“代碼”視圖格式。②
在“<head>”前輸入文件頭注釋:<?/*REM#####################################################################REMFileName:list.phpREMCreatedBy: Greenbud.Chen 2014-09-02 建立源文件REMDescription: 搜索列表信息顯示REMIncludeFiles:i_myedu123_head.php、i_myedu123_bottom.php i_myedu123_connectionstring.phpREMProject: 我的教育網REMVersion: v1.00REMCopyright(c)2014GreenbudWorkGroupAllrightsreserved.REM#######################################################################*/?>創建列表信息頁面文件4.3新建搜索列表信息文件4.3.2
操作步驟③在隨后的行中輸入數據庫連接字符串和自定義函數包含文件。<?include"../inc/i_myedu123_connectionstring.php";?>④將“<!--headstart-->”與“<!--headend-->”之間的代碼替換成“<?include"../inc/i_myedu123_head.php";?>”。⑤將“<!--bottomstart-->”與“<!--bottomend-->”之間的代碼替換成“<?include"../inc/i_myedu123_bottom.php";?>”。⑥將“search.htm”另存到網站的“codes”文件夾中,文件名為“search.php”。⑦在“<head>”前輸入如下代碼。<?$nPageSize=10;//設定每頁信息條數$strInfoView="ViewGls";//初始化查詢視圖名變量$strInfoFile="art_info.php";//初始化信息顯示網頁PHP文件名變量$nOpt=$_REQUEST["Opt"];//獲取客戶端瀏覽器傳遞給服務器的Opt$strKeyWord=trim($_REQUEST["keyword"]);//獲取KeyWord,并除去兩端空格$nPageCount=$_REQUEST["Page"];if(!is_numeric($nOpt)){$nOpt=0;}$nPageCount=intval($nPageCount);if($nPageCount<=0){$nPageCount=1;}if($nOpt<1or$nOpt>3or$strKeyWord==""){die("參數錯誤!");}if($nOpt==2){$strInfoView="ViewResDownload";$strInfoFile="res_info.php";}?>創建列表信息頁面文件4.3新建搜索列表信息文件4.3.2
操作步驟⑧將“<title>”修改為“<title>綠蕾教育-綠蕾工作組[<?=$strKeyWord?>]列表信息</title>”。⑨按F12鍵預覽網頁(單擊“否”按鈕,不上傳相關文件),將得到“參數錯誤!”的提示。⑩在瀏覽器地址欄的URL后面追加“?Opt=1&KeyWord=綠蕾工作組”字符串并回車,注意查看瀏覽器標題發生的變化。創建列表信息頁面文件4.3新建搜索列表信息文件知識拓展拓展2三目運算符trim函數trim函數刪除字符串兩端的空格。函數格式:Trim(string)其中,string為有效的字符串表達式。
ltrim(string):刪除字符串左端的空格。string為必選參數,有效的字符串表達式。
rtrim(string):刪除字符串右端的空格。string為必選參數,有效的字符串表達式。類似的刪除字符串空格函數還有以下兩種。創建列表信息頁面文件4.3新建搜索列表信息文件做一做①試著用“表格描述法”寫出“精品推薦”的流程,寫出完整的PHP代碼并上機調試。<li><ahref="res_info.htm">精品推薦1</a></li><li><ahref="res_info.htm">精品推薦2</a></li><li><ahref="res_info.htm">精品推薦3</a></li><li><ahref="res_info.htm">精品推薦4</a></li><li><ahref="res_info.htm">精品推薦5</a></li><li><ahref="res_info.htm">精品推薦6</a></li><li><ahref="res_info.htm">精品推薦7</a></li><li><ahref="res_info.htm">精品推薦8</a></li><li><ahref="res_info.htm">精品推薦9</a></li><li><ahref="res_info.htm">精品推薦10</a></li>提示:
整站范圍內的精品推薦信息應從ViewGlsRes視圖中讀取。
涉及字段為ID、Title、CatType。
在顯示輸出時,充分應用IIF自定義函數,根據CatType值的不同,正確選擇鏈接頁面文件(art_info.php和res_info.php)。創建列表信息頁面文件4.3新建搜索列表信息文件做一做②試著用“表格描述法”寫出“熱點信息”的流程,寫出完整的PHP代碼并上機調試。<li><ahref="res_info.htm">熱點信息1</a></li><li><ahref="res_info.htm">熱點信息2</a></li><li><ahref="res_info.htm">熱點信息3</a></li><li><ahref="res_info.htm">熱點信息4</a></li><li><ahref="res_info.htm">熱點信息5</a></li><li><ahref="res_info.htm">熱點信息6</a></li><li><ahref="res_info.htm">熱點信息7</a></li><li><ahref="res_info.htm">熱點信息8</a></li><li><ahref="res_info.htm">熱點信息9</a></li><li><ahref="res_info.htm">熱點信息10</a></li>提示:整站范圍內的熱點信息應從ViewGlsRes視圖中讀取點擊數高的信息。創建列表信息頁面文件4.4信息搜索及列表顯示4.4.1案例綜述本任務完成按搜索關鍵字要求篩選并顯示列表信息和設置翻頁工具欄。創建列表信息頁面文件4.4信息搜索及列表顯示4.4.2
操作步驟①用Dreamweaver打開“search.php”文件。②修改注釋,在“REMDescription:搜索列表信息顯示”前輸入一行“REMModifyBy:Greenbud.Chen 2014-09-03 信息搜索及列表顯示”。③將代碼“<h2>當前搜索:</h2>”修改為“<h2>當前搜索<?=$strKeyWord?></h2>”。④讀取一頁列表信息,在“<divclass="list_1_2_2_div">”前輸入如下代碼。<?switch($nOpt){ case1://站內搜索:按關鍵字搜索圖文及資源信息 $strSeek="aKeylike'%{$strKeyWord}%'"; break; case2://字母搜索:按標題第一個英文字母搜索資源信息 $strSeek="left(Title,1)='{$strKeyWord}'"; break; default://綠蕾搜索:按關鍵字、標題、內容全面搜索圖文及資源信息 $strSeek="aKeylike'%{$strKeyWord}%'or". "Titlelike'%{$strKeyWord}%'orContentlike'%{$strKeyWord}%'";}$pdo=newPDO($strDSN,$strDBName,$strDBPWD);$strSQL="selectcount(*)astotalrecfrom{$strInfoView}where{$strSeek}";$rst=$pdo->query($strSQL);$rstInfo=$rst->fetch();$nTotalRec=$rstInfo["totalrec"];//得到記錄總數$nTotalPages=intval($nTotalRec/$nPageSize);//計算得到總頁數的整數部分if($nTotalRec%$nPageSize>0)//如果總記錄數不被每頁行數整除,則1{ $nTotalPages=$nTotalPages+1;}if($nPageCount==1)//如果是第一頁,則select不嵌套,否則嵌套{ $strSQL="selecttop{$nPageSize}ID,Title,Brief,Author,CatName,[Level],Hits,UpdateTime,". "StarsfromViewGlsReswhere".$strSeek."orderbyIDDesc";}else{ $strSQL="selecttop{$nPageSize}ID,Title,Brief,Author,CatName,[Level],Hits,UpdateTime,". "Starsfrom{$strInfoView}where({$strSeek})". "andIDnotin(selecttop".($nPageCount-1)*$nPageSize."ID". "from{$strInfoView}where{$strSeek}orderbyIDDesc)orderbyIDDesc";}$rst=$pdo->query($strSQL);while($rstInfo=$rst->fetch()){?>創建列表信息頁面文件4.4信息搜索及列表顯示4.4.2
操作步驟⑤輸出列表信息,緊接上述代碼,并修改“<divclass="list_1_2_2_div">”層內代碼修改為如下所示。<divclass="list_div_1"><ahref="<?=$strInfoFile?>?ID=<?=$rstInfo["ID"]?>"target=_blank><?=$rstInfo["Title"]?></a></div><divclass="list_div_2"><?=$rstInfo["Brief"]?></div><divclass="list_div_3"><p>作者:<span><?=$rstInfo["Author"]?></span></p><p>類別:<span><?=$rstInfo["CatName"]?></span></p><p>級別:<span><?=$rstInfo["Level"]?></span></p><p>點擊:<span><?=$rstInfo["Hits"]?></span></p><p>添加:<span><?=date('Y-m-d',strtotime($rstInfo["UpdateTime"]))?></span></p><p>星級:<span><fontcolor=#009999><?=str_repeat("★",$rstInfo["Stars"])?></font></span></p></div></div><?}?>創建列表信息頁面文件4.4信息搜索及列表顯示4.4.2
操作步驟⑥顯示分頁工具欄,將“<divclass="show_page">”層內代碼修改為如下所示。<?$strFirstUrl="search.php?Opt=".$nOpt."&KeyWord=".$strKeyWord."&Page=";?>共
<b><?=$nTotalRec?></b>條信息 <ahref="<?=$strFirstUrl?>1">首頁</a> <ahref="<?=$strFirstUrl?><?=$nPageCount-(nPageCount>1?1:0)?>">上一頁</a> <ahref="<?=$strFirstUrl?><?=$nPageCount>=$nTotalPages?$nPageCount:$nPageCount+1?>">下一頁</a> <ahref="<?=$strFirstUrl?><?=$strCatID?>&Page=<?=$nTotalPages?>">尾頁</a>
頁次:<strong><fontcolor=red><?=$nPageCount?></font>/<?=$nTotalPages?></strong>頁 <b><?=$nPageSize?></b>條信息/頁
轉到:<selectonchange=javascript:location.href=this.options[this.selectedIndex].value;size="1"name="page"><?for($i=1;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國桶裝飲用純凈水行業市場運行分析及發展趨勢與投資研究報告
- 2025-2030中國智慧零售行業市場深度調研及發展趨勢與投資前景預測研究報告
- 基因編輯技術在胰腺工程中的分子調控研究-洞察闡釋
- 多學科遠程會診模式的智能化構建與優化-洞察闡釋
- 基于預測性維護的紙板容器行業設備管理研究-洞察闡釋
- 醫療圖像分割的遷移學習與跨機構數據共享-洞察闡釋
- 網絡安全事件應急預案范文
- 吉安縣審計局工作人員招聘筆試真題2024
- 沈陽市鐵西區慶元電子有限公司招聘考試真題2024
- 2025年人教版八年級下冊英語閱讀理解計劃
- 2024年貴州省貴陽市中考生物地理合卷試題(含答案逐題解析)
- 概率論在實際生活中的應用
- 山西省電子政務外網初步設計方案
- 辦公樓室內裝飾工程施工設計方案技術標范本
- 執業醫師法培訓課件
- 新時代新型職業農民素養課件講解
- 2024年咸陽市城市發展集團有限公司招聘筆試沖刺題(帶答案解析)
- 2023年電力安全生產工作規程
- 小學新眼保健操比賽總結
- 公司SWOT分析表模板
- 學校青春期性教育系列- 《保護青春期安全》
評論
0/150
提交評論