Проблема с циклом PHP в ассоциативном массиве
У меня есть два цикла while, заполняющих ассоциативные массивы - однако я могу запускать по одному (т.е. комментировать другой), однако, когда я запускаю оба одновременно, я получаю сообщение об ошибке сервера. Несмотря на то, что запросы не запрашивают тот же набор данных, я все же попытался добавить сброс указателя, но безуспешно. Вот две петли:
$thecurrent = array();
$getusers = "SELECT score, uid, like_id FROM wetique_scores GROUP BY like_id;";
$gotusers = mysql_query($getusers,$con);
while ($row = mysql_fetch_array($gotusers))
{
$score = $row['score'];
$userid = $row['uid'];
$likeid = $row['like_id'];
$comboid = $userid.$likeid;
$thecurrent[$comboid] = $score;
}
// 2. вычисляем новый счет из базы данных и создаем массив $new
$new = array();
$getusers2 = "SELECT like_id, sum(friend_rating), uid from likes l, friendships f WHERE l.friend_id = f.friend_id GROUP BY l.like_id;";
$gotusers2 = mysql_query($getusers2,$con);
while ($rowb = mysql_fetch_array($gotusers2))
{
$scoreb = $rowb['sum(friend_rating)'];
$useridb = $rowb['uid'];
$likeidb = $rowb['like_id'];
$comboidb = $useridb.$likeidb;
$new[$comboidb] = $scoreb;
}
1 ответ
1) нет 'l_id'
в выбранных полях ваших запросов, так $rowb['l_id']
или же $row['l_id']
будет генерировать уведомление.
2) from l, fips f
это опечатка, я надеюсь?
3) Ваш GROUP BY l_id
не понятно Все строки с одинаковыми l_id
имеет то же самое score, uid, like_id
? Очень странно.
4) Использование mysql_free_result
после каждого цикла http://ru2.php.net/manual/en/function.mysql-free-result.php