0

連想配列に入力する 2 つの while ループがあります。一度に 1 つずつ実行できます (つまり、もう一方をコメントアウトします)。ただし、両方を同時に実行すると、サーバー エラーが発生します。クエリが同じデータセットをクエリしていないにもかかわらず、ポインターのリセットを追加しようとしましたが、うまくいきませんでした。2 つのループを次に示します。

$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. db から新しいスコアを計算し、配列 $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;   
}
4

1 に答える 1

0

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

于 2011-05-04T08:16:14.510 に答える