PHP arrays or SQL query in loop?
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']."' "));
?>
'.$pray_person['name'].' ('.new_color3($pray_person['rank_name']).')'; ?>
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)
{
?>
'.$pray_person['name'].' ('.new_color3($pray_person['rank_name']).')'; ?>