數(shù)據(jù)庫提到的數(shù)據(jù)一般是資源類型的,要逐一讀出,添加到數(shù)組
成都創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元臨猗做網(wǎng)站,已為上家服務(wù),為臨猗各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
while($row = mysql_fetch_assoc($res)){
$data[] = $row;
}
$sql
=
"select
class
from
name
where
Id
=
1";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
mysql_free_result($res);
$arr=explode(',',$row['name']);
print_r($arr);
從你的表述,我的分析是:你的數(shù)據(jù)庫有30條左右的數(shù)據(jù)行,每次全部都查出來(需要一個(gè)二維數(shù)組,這樣便于管理),每一行數(shù)據(jù)有3個(gè)字段,你需要的結(jié)果是,當(dāng)頁面刷新的時(shí)候,每次隨即顯示7條數(shù)據(jù)。代碼如下:
?php
//?連接數(shù)據(jù)庫
$link?=?mysql_connect('主機(jī)名',?'用戶名',?'密碼');
//?SQL查詢語句,條件WHERE如果沒有可以不加,不需要LIMIT,全部查出來
$sql?=?"SELECT?`字段1`,?`字段2`,?`字段3`?FROM?`表名`?WHERE?`條件`;";
//?執(zhí)行SQL語句,獲取查詢結(jié)果集
$result?=?mysql_query($sql,?$link);
//?循環(huán)遍歷結(jié)果集?用意是為了構(gòu)建二維數(shù)組,不懂不要緊用了就明白,雙!!號是為了將while循環(huán)中表達(dá)式的值強(qiáng)制轉(zhuǎn)換成布爾值,便于判斷,可以不加,我習(xí)慣加上
while?(!!$assoc?=?mysql_fetch_assoc($result))?{//以關(guān)聯(lián)數(shù)組的方式解析結(jié)果集
$data[]?=?$assoc;?//?將解析的結(jié)果放入數(shù)組中,創(chuàng)建一個(gè)二維數(shù)組
}
//?初始化一個(gè)數(shù)組,下面要用到,是用來存放隨即7個(gè)數(shù)組的下標(biāo)的
$keys?=?array();
//?寫一個(gè)自定義函數(shù),需要用到遞歸算法
function?get_key($keys,?$data)?{
//?這里用到了一個(gè)隨即數(shù)字函數(shù)mt_rand()而不是rand(),因?yàn)榍罢呤呛笳叩募訌?qiáng)版,個(gè)人比較喜歡前者,當(dāng)然用后者在這里也是完全可以的,根據(jù)自己的喜好來定
if?(!in_array($key?=?mt_rand(0,?count($data)?-?1),?$keys))?{
//?說明沒有重復(fù),接收
return?$key;
}?else?{?//?說明重復(fù)繼續(xù)遞歸
return?get_key($keys,?$data);
}?
}
//?使用for循環(huán)隨即讀取數(shù)據(jù)中的7條數(shù)據(jù),當(dāng)然用foreach也可以,根據(jù)自己的喜好來定
for?($i?=?0;?$i??7;?$i?++)?{//?這里比較復(fù)雜的就是需要7條不同的數(shù)據(jù),不能相同
//?獲取不同的7條數(shù)據(jù)的下標(biāo)
$keys[]?=?get_key($keys,?$data);
}
//?7個(gè)不同數(shù)據(jù)的下標(biāo)有了,接下來就是遍歷數(shù)據(jù)了,用foreach
foreach?($keys?as?$key)?{
echo?'字段1:'?.?$data[$key]['字段1'];
echo?'p?/';
echo?'字段2:'?.?$data[$key]['字段2'];
echo?'p?/';
echo?'字段3:'?.?$data[$key]['字段3'];
echo?'p?/';
}
//?問題解決,這只是一種解決方案,當(dāng)然還有其他很多種,最后記得關(guān)閉數(shù)據(jù)庫和銷毀結(jié)果集
mysql_free_result($reuslt);?//?銷毀結(jié)果集
mysql_close($link)//?關(guān)閉數(shù)據(jù)庫
//?銷毀變量
unset($result);
unset($link);
?
希望我的方案,能夠幫你解決問題,如果還有任何問題或疑惑歡迎追問~
function(){
$查詢="select
*
from
表";
//
如果只查詢標(biāo)題,就只用些標(biāo)題的對應(yīng)字段名
//連接數(shù)據(jù)庫
for($i=0;$i$記錄數(shù);$i++){
$讀取=$lj-fetch_assoc();
//
查詢
$sid[$i]=$讀取[s_id];
$標(biāo)題[$i]
=
$讀取[s_title];
}
$arra=array
($aid,$title);
return
$arra;
}
不知可否幫你解決問題了
假如 數(shù)據(jù)為 $value
$temp=explode(",",$value);?
foreach($temp?as?$v){
$result[$v]=1;
}
然后html的時(shí)候可以這樣:
if($result['admin']){
echo?'input?type=checkbox?/';
}
同理其他類型,可以foreach?輸出
mysql_fetch_array (取數(shù)字和索引數(shù)組)
mysql_fetch_assoc ( 取索引數(shù)組)
mysql_fetch_row (取數(shù)字?jǐn)?shù)組)
mysql_fetch_object (取對象)
取的數(shù)據(jù)內(nèi)容是一樣的,類型不一樣,訪問方式不一樣