Re: [請益] 一個迴圈的問題

看板PHP作者 (io)時間15年前 (2010/09/01 14:31), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串3/4 (看更多)
※ 引述《ioioiii (io)》之銘言: : 小弟從資料庫裡拉出來的資料有兩筆分別是1和2兩個整數 也就是說$d1=2 : 以下是我的code : <? $a1=mysql_query("SELECT level FROM vata2 WHERE save='1' and id='1' and : level!='0'"); : $b1=mysql_fetch_array($a1); : $g=0; $i=0; : $d1=mysql_num_rows($a1); : while($b1!=NULL){ : $g+=$b1[$i]; : $i++; : $b1=mysql_fetch_array($a1);} : echo $g; : 我的想法是取得資料有兩筆所以在迴圈跑兩次 則第一次$g=1第二次$g=1+2=3 : 可是我echo出來$g卻是1 : 第一我不明白我的問題出在哪裡 : 第二如果要達成我的目的應該要怎麼改 : 麻煩善心人士高手們解答 謝謝 感謝jians大大的分享 我後來有解出來了 只是還是有些地方不懂 還是請知道的高手指教指教 以下是我後來的寫法 <? $a1=mysql_query("SELECT levle FROM 太長省略"); $b1=mysql_fetch_array($a1); $d1=mysql_num_rows($a1); $g=0; while($b1!=NULL){ $g+=$b1['level']; $b1=mysql_fetch_array($a1); } $e1=$g/$d1; echo $e1; ?> 這樣寫就正常了 $g再跑完迴圈之後會等於3 也可以如願算我想要算的平均了 我不懂的地方是$b1不是會以陣列方式儲存嗎 所以有兩筆資料的話 應該會存在$b1[0]和$b1[1]不是嗎 那為什麼用$b1[X]來處理卻不行呢 非要用$b1['欄位名稱'] 還是說我的原先用法有錯呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.215.86

09/01 22:30, , 1F
建議你print_r($b1)看看 照理說$b1[0]是可以用的
09/01 22:30, 1F

09/01 22:49, , 2F
謝謝你喔
09/01 22:49, 2F
文章代碼(AID): #1CVVD9gm (PHP)
討論串 (同標題文章)
文章代碼(AID): #1CVVD9gm (PHP)