不能對資源進行foreach遍歷,$banner_db是資源、不是數(shù)組,foreach要求數(shù)組;
新建網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
這類情況一般都是使用while ($row=mysqli_fetch($banner_db))來遍歷。
在PHP中數(shù)組分為兩類:
數(shù)字索引數(shù)組和關(guān)聯(lián)數(shù)組。
其中數(shù)字索引數(shù)組和C語言中的數(shù)組一樣,下標是為0,1,2…
而關(guān)聯(lián)數(shù)組下標可能是任意類型,與其它語言中的hash,map等結(jié)構(gòu)相似。
下面介紹PHP中遍歷關(guān)聯(lián)數(shù)組的三種方法:
方法1:foreach
復(fù)制代碼
代碼如下:
?php
$sports
=
array(
'football'
=
'good',
'swimming'
=
'very
well',
'running'
=
'not
good');
foreach
($sports
as
$key
=
$value)
{
echo
$key.":
".$value."br
/";
?
輸出結(jié)果:
football:
good
swimming:
very
well
running:
not
good
方法2:each
復(fù)制代碼
代碼如下:
?php
$sports
=
array(
'football'
=
'good',
'swimming'
=
'very
well',
'running'
=
'not
good');
while
($elem
=
each($sports))
{
echo
$elem['key'].":
".$elem['value']."br
/";
?
方法3:list
each
復(fù)制代碼
代碼如下:
?php
$sports
=
array(
'football'
=
'good',
'swimming'
=
'very
well',
'running'
=
'not
good');
while
(list($key,
$value)
=
each($sports))
{
echo
$key.":
".$value."br
/";
?
有2個辦法,第一種直接使用sql的多表聯(lián)查,效率高,但是得到的數(shù)據(jù)table1會被擴展成table2一樣的條目數(shù) 要再次處理
select?*?from?table1?a,table2?b?where?a.orderid?=?b.orderid
第二種方法,先得到table11的數(shù)據(jù),在循環(huán)中匹配table2到一個新的列名中
$conn?=?mysqli_connect("127.0.0.1",?"root",?"123",?"test");
$sql?=?"select?*?from?table1";
$rs?=?mysqli_query($conn,?$sql);
$Arr?=?array();
while?($row?=?mysqli_fetch_assoc($rs))?{
$sql?=?"select?*?from?table2?where?orderid?="?.$row["orderid"];
$row["order_sku"]?=?mysqli_fetch_all(mysqli_query($conn,?$sql),?MYSQLI_ASSOC);
$Arr[]?=?$row;
}
print_r($Arr)
如果你是剛開始學php 建議直接拋棄mysql用mysqli 因為PHP5.5已經(jīng)廢棄mysql方法了
首先你要說你用的是什么數(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"];
//其他操作類似。
}