php mysql 循環(huán)顯示數(shù)據(jù)的幾種方式對(duì)比
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
用于顯示數(shù)據(jù)庫數(shù)據(jù)的時(shí)候,一般用循環(huán)體來做,常用的方法有while()和for()兩種語句,下面就來講一下他們?cè)诓煌闆r下各自的用法。
我們來分別介紹: while()語句是可以顯示全部數(shù)據(jù),在不知道循環(huán)次數(shù)的情況下,尤其顯得方便,而for()語句呢,可以輸出顯示從指定位置開始到指定位置結(jié)束的數(shù)據(jù),在輸出顯示一定范圍的數(shù)據(jù)時(shí)就用得上了。下面看一下編程實(shí)例: 我們先建一個(gè)數(shù)據(jù)庫來備用:數(shù)據(jù)庫名為:mydb 表名為:tbl。 用下面的語句:create table tal (idx int(3),url char (100),freetext char(100)) 可以用phpmyadmin工具來向數(shù)庫表中插入若干個(gè)數(shù)據(jù)。 編程開始: $id=mysql_connect("localhost") or die("無法建立數(shù)據(jù)庫鏈接");#鏈接數(shù)據(jù)庫 $result=mysql_db_query("mydb","select * from tbl", $id);#查詢結(jié)果并存入變量中 $rows=mysql_num_rows( $result);#得出數(shù)據(jù)表中的總行數(shù),也就是數(shù)據(jù)的總個(gè)數(shù) echo"<table>";#準(zhǔn)備以表格的形式輸出 echo "</table>";#表格結(jié)束 在上面兩句中插入輸出語句,對(duì)應(yīng)于不同的情況,輸出語句分為幾種情況: 若輸出全部數(shù)據(jù),先用for()來做 for( $i=0; $i< $rows; $i++){ $total=mysql_fetch_array( $result); echo "<tr><td bgcolor=yellow><a href="http:// $total[url]"target=_blank> $total[freetext]</a> $total[idx]</tr></td>"; } 用while()來做 while( $total=mysql_fetch_array( $result)) { echo "<tr><td bgcolor=yellow><a href="http:// $total[url]"target=_blank> $total[freetext]</a> $total[idx]</tr></td>"; } 當(dāng)我們想要分頁顯示的時(shí)候,也就是不能一下子把所有的數(shù)據(jù)一次性的顯示完,那么可以用for()來完成這個(gè)任務(wù)。 我們假設(shè)每輸出10個(gè)數(shù)據(jù),用 $page來表示當(dāng)前的頁數(shù) $pagesize=10來表示第頁的數(shù)據(jù)數(shù)量.語句如下所示: for ( $i=0; $i< $pagesize; $i++) { $start=( $page-1)* $pagesize+ $i;#計(jì)數(shù)起始的數(shù)據(jù)行數(shù) if ( $start< $rows) $idx=mysql_result( $result, $start,"idx"); $url=mysql_result( $result, $start,"url"); $freetext=mysql_result( $result, $start,"freetext"); echo "<tr><td bgcolor=yellow><a href="http:// $url"target=_blank> $freetext</a> $idx</tr></td>"; 上述語句用for()分別得出數(shù)據(jù)表中的各字段的值存入變量中,用echo語句顯示出來。 以上程序在apache+mysql+php4中運(yùn)行通過 該文章在 2012/7/11 16:53:20 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |