Re: [請益] 計算資料庫筆數印出的問題
你這段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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章