PHP arrays or SQL query in loop?

1 day ago 2
ARTICLE AD BOX

Which code is preferred and why?

Using a query in a loop, but with id search, so it should be quick. $pray_res = sql_query($conn, "SELECT * FROM prayer_stats ORDER BY year DESC, month DESC"); while($prev_pray = sql_fetch($pray_res)) { $pray_person = sql_fetch(sql_query($conn_user, "SELECT * FROM register WHERE deleted=0 and id='".$prev_pray['pray_user_id']."' ")); ?> <tr> <td><?php print $prev_pray['year'].'. '; print ucfirst(month($prev_pray['month'])); ?></td> <td><?php print '<a href="'.$protokol.'://'.$domain.'/profile/'.$pray_person['url'].'">'.$pray_person['name'].' ('.new_color3($pray_person['rank_name']).')</a>'; ?></td> </tr> <?php }

2. Using arrays, but getting all users from register table.

$all_users = []; $user_res = sql_query($conn_user, "SELECT id, name, url, rank_name FROM register WHERE deleted=0"); while ($u = sql_fetch($user_res)) { $all_users[$u['id']] = $u; } $pray_res = sql_query($conn, "SELECT * FROM prayer_stats WHERE user_id != 0 ORDER BY year DESC, month DESC"); while($prev_pray = sql_fetch($pray_res)) { $pray_person = $all_users[$prev_pray['pray_user_id']]; if($pray_person) { ?> <tr> <td><?php print $prev_pray['year'].'. '; print ucfirst(month($prev_pray['month'])); ?></td> <td><?php print '<a href="'.$protokol.'://'.$domain.'/profile/'.$pray_person['url'].'">'.$pray_person['name'].' ('.new_color3($pray_person['rank_name']).')</a>'; ?></td> </tr> <?php } }
Read Entire Article