Re: [請益] 計算資料庫筆數印出的問題

看板PHP作者時間16年前 (2010/02/02 16:27), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
你這段CODE給我的感覺是效能很差,每一筆都拉一次SQL,儘管一次只要0.01sec 今天筆數只要一百筆就要一秒了 $query_for_check = 'select id , number , state from oldm'; $result_for_check = mysql_query($query_for_check); $check_number = 0; while($data_array = mysql_fetch_assoc($result_for_check)) { if($data_array['state'] == 'InLine') { $check_number++; $check = $check_number; } else { $check = '處理中'; } echo "<tr>"; echo "<td align='center'>".$data_array['id']."</td>"; echo "<td align='center'>".$data_array['number']."</td>"; echo "<td align='center'>".$check."</td>"; echo "</tr>"; } ※ 引述《kiya6817 (kiya)》之銘言: : 因為剛接觸PHP對它的語法不是很熟 : 所以來此請教各位高手 : 我想做的是列出一共有三欄的SQL資料 : 第一欄和第二是直接抓資料庫的 ID和NUMBER : 而第三欄要計算從第一筆到該筆資料的狀態是"InLine"的資料一共有幾筆 : 例如: : 假設現在4筆資料 ID分別是:123 456 789 000 : 其中只有456和000的狀態是InLine : 而如果該筆資料的狀態不是InLine的就直接顯現X : 所以應該是要印出以下的樣子 : ID NUMBER CHECK : 123 1 X : 456 2 1 : 789 3 X : 000 4 2 : 底下是我的程式碼 : 一直跑不出來〒△〒 : 請各位大大幫幫忙 : for($n = 0 ; $n < $data_count; $n++) : { $check=1; : if($data_array[$n]['State'] =="InLine") : { : $y = ("SELECT COUNT(ID) FROM oldm WHERE State='InLine' AND Number <= $n+1"); : $que=mysql_query($y); : $res=mysql_result($que,0,count); : $check = mysql_num_rows($que); : echo "<tr>"; : echo "<td align='center'>".$data_array[$n]['ID']."</td>"; : echo "<td align='center'>".$data_array[$n]['Number']."</td>"; : echo "<td align='center'>".$check."</td>"; : echo "</tr>"; : } : else : { : $check="處理中<br>"; : echo "<tr>"; : echo "<td align='center'>".$data_array[$n]['ID']."</td>"; : echo "<td align='center'>".$data_array[$n]['Number']."</td>"; : echo "<td align='center'>".$check."</td>"; : echo "</tr>"; : } : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.35.133

02/02 19:36, , 1F
謝謝回復 有高手幫忙解決問題了 再次感謝 =ˇ=
02/02 19:36, 1F
文章代碼(AID): #1BP-7o2F (PHP)
討論串 (同標題文章)
文章代碼(AID): #1BP-7o2F (PHP)