2012-03-23 3 views
0

при запуске результирующего набора, насколько эффективен этот подход по сравнению с другими методами?Эффективность при запуске результирующего набора

for ($iCont=0; $iCont < mysql_num_rows($this->rsQuery); $iCont++) 
{ 
     mysql_data_seek($this->rsQuery,$iCont); 
     $row=mysql_fetch_assoc($this->rsQuery); 
     //more things here like write row or push it to a global array 
} 

Есть ли проблема с эффективностью использования mysql_data_seek, даже если это сделано в упорядоченной последовательности?

Как насчет mysql_num_rows() в начале? это влияет?

Итак, есть ли лучшие подходы?

То, что я хочу реализовать, - это метод возврата ассоциативного массива со всем содержимым набора результатов, а другой - для создания сетки (таблицы html) с данными.

Спасибо

ответ

3

Я не уверен, что это более эффективно, но выглядит nicer

while ($row = mysql_fetch_assoc($this->rsQuery)) 
{ 
    //do your thing here 
} 
3

Так как mysql_fetch_assoc возвращает строку или нуль, если не возвращаются больше строк, просто в то время как петля на цели достаточно:

while($row = mysql_fetch_assoc($this->rsQuery)) { 
// ... 
} 
Смежные вопросы