這當然是不行的了,上面的告訴你的也是錯誤的,因為原因在于你循環(huán)的時候進行了數(shù)據(jù)庫的查詢,所以每次都是新的數(shù)據(jù),指針當然要從第一條開始了。
成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的十載時間我們累計服務(wù)了上千家以及全國政企客戶,如三輪攪拌車等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致夸獎。
所以不是你的循環(huán)的錯誤,而是你數(shù)據(jù)庫查詢代碼位置的錯誤
要這樣寫
$num=mysql_query("select
*
from
china_city
where
parentid=0");
$n=
mysql_num_rows
($num);
for($i=1;$i=$n;$i++){
${"row".$i}=mysql_fetch_array($num);
echo
$i."
".${"row".$i}['city']."
";
}
一般都是用foreach或while寫的
foreach(mysql_fetch_array($num)
as
$key=$value){}
while($row
=mysql_fetch_array($num)){}
首先你要說你用的是什么數(shù)據(jù)庫。用最普通的mysql數(shù)據(jù)庫來說,php自帶了一些操作數(shù)據(jù)庫的函數(shù)。
首先你將語句寫入一個變量:
$Query = "select * from A_table";
然后用mysql_query這個函數(shù)執(zhí)行這條語句,并將輸出結(jié)果放在一個變量中:
$Result = mysql_query($Query);
這個$Result變量就是一個資源變量,包含了所有符合條件的結(jié)果。要將結(jié)果處理,需要用另一個函數(shù)
mysql_fetch_assoc:
while($Row = mysql_fetch_assoc($Result))
{
//這里$Row就是遍歷了結(jié)果的每一行。假設(shè)有個字段叫A_field,你要把它輸出
echo $Row["A_field"];
//其他操作類似。
}
您好,可參考如下思路,然后結(jié)合自己的業(yè)務(wù)邏輯即可:
?php
//首先鏈接數(shù)據(jù)庫
$conn = mysql_connect('主機名','數(shù)據(jù)庫登陸用戶名','數(shù)據(jù)庫登陸密碼') or die('鏈接數(shù)據(jù)庫失敗');
//選擇數(shù)據(jù)庫
mysql_select_db( 'test',$conn );
//假設(shè)test數(shù)據(jù)庫中有文章表,article,表有字段 id,title,create_time 那么可采用如下代碼循環(huán)讀出里面數(shù)據(jù)
//進行SQL查詢-查詢article中的數(shù)據(jù)并按照id倒序排列
$sql = 'SELECT *FROM article ORDER BY id DESC';
//獲取執(zhí)行結(jié)果
$result = mysql_query( $sql,$conn );
if( !$result ) die( '執(zhí)行SQL語句失敗' );
//循環(huán)讀出結(jié)果集中的數(shù)據(jù)
while( $row = mysql_fetch_assoc( $result ) )
{
//輸出數(shù)據(jù)
echo $row['id'].'--'.$row['title'].'--'.$row['create_time'].'br/';
}
//如果test中有三條數(shù)據(jù),比如下列數(shù)據(jù)
//id title create_time
//1 文章標題1 2014/10/31 14:20
//2 文章標題2 2014/11/01 15:12
//3 文章標題3 2014/11/03 12:10
//那么執(zhí)行代碼后,網(wǎng)頁應(yīng)顯示如下:
//3--文章標題3--2014/11/03 12:10
//2--文章標題2--2014/11/01 15:12
//1--文章標題1--2014/10/31 14:20
?
既然是遍歷,那就將數(shù)據(jù)庫指針先移到第一條記錄,逐次取出數(shù)據(jù)進行運算,下移指針,直到庫結(jié)束。
通常的代碼如下:
mysql_data_seek($result,0);//指針復(fù)位
while($row=mysql_fetch_array($result))?{?
//對每行記錄進行運算?處理,如?:echo?$row['name']."br?/";?
}
完整的代碼如下:
$con = mysql_connect('localhost(服務(wù)器地址)', '數(shù)據(jù)庫用戶名', '數(shù)據(jù)庫密碼');
//數(shù)據(jù)庫連接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//連接失敗輸出錯誤
mysql_select_db('數(shù)據(jù)庫名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}