首先你要說你用的是什么數據庫。用最普通的mysql數據庫來說,php自帶了一些操作數據庫的函數。
我們提供的服務有:成都做網站、成都網站建設、成都外貿網站建設、微信公眾號開發、網站優化、網站認證、烏審ssl等。為1000+企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的烏審網站制作公司
首先你將語句寫入一個變量:
$Query = "select * from A_table";
然后用mysql_query這個函數執行這條語句,并將輸出結果放在一個變量中:
$Result = mysql_query($Query);
這個$Result變量就是一個資源變量,包含了所有符合條件的結果。要將結果處理,需要用另一個函數
mysql_fetch_assoc:
while($Row = mysql_fetch_assoc($Result))
{
//這里$Row就是遍歷了結果的每一行。假設有個字段叫A_field,你要把它輸出
echo $Row["A_field"];
//其他操作類似。
}
完整的代碼如下:
$con = mysql_connect('localhost(服務器地址)', '數據庫用戶名', '數據庫密碼');
//數據庫連接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//連接失敗輸出錯誤
mysql_select_db('數據庫名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}
這當然是不行的了,上面的告訴你的也是錯誤的,因為原因在于你循環的時候進行了數據庫的查詢,所以每次都是新的數據,指針當然要從第一條開始了。
所以不是你的循環的錯誤,而是你數據庫查詢代碼位置的錯誤
要這樣寫
$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)){}
既然是遍歷,那就將數據庫指針先移到第一條記錄,逐次取出數據進行運算,下移指針,直到庫結束。
通常的代碼如下:
mysql_data_seek($result,0);//指針復位
while($row=mysql_fetch_array($result))?{?
//對每行記錄進行運算?處理,如?:echo?$row['name']."br?/";?
}
對數據庫取出的值遍歷比較好一點:
var
data={$data};
for
(var
item
in
data)
{
$("
:radio[name="+item+"][value="+data[item]+"]").attr("checked",true);
}
上面的寫法可能有錯誤,意思就是對數據庫取出的值遍歷,設置name=item且value=data[item]的checked為true。
當然也可以用模板,這樣就不需要遍歷,使用if標簽判定value值來插入"checked",
比如:
checked
你的指的是無限級吧,A是B和C的父級,B是D,E,F的父級,C是G和H的父級,D又是I,J,K的父級。一般都是采用遞歸算法。
/**??
*?無限級的遍歷??
*?@param??[array]??$data??????所有數據??
*?@param??integer?$parent?parent為0時,是最祖先級??
*?@param??integer?$level?????記錄幾級?
*?@return?[array]????????????已經遍歷好的數組??
*/??
public?function?category($data,$parent=0,$level=0){??
$array?=?[];??
foreach?($data?as?$key?=?$value)?{??
if($value['parent']?==?$parent){??
$value['level']?=?$level;??
$array[]?=?$value;??
$this-category($data,$value['id'],$level+1);??
}??
}??
return?$array;??
}
本文名稱:php數據庫查詢循環遍歷 mysql 循環查詢
分享鏈接:http://m.kartarina.com/article12/hhocdc.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站維護、網頁設計公司、云服務器、定制網站、微信小程序
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯