-1

友達関係テーブルで友達IDをチェックし、友達の情報を返すPHPを作成しています。問題は、最初のループが2回ループすることです。そうです、2番目のループのカウントの値を確認すると、4に等しいことがわかります。これはどのように発生し、2番目のテーブルは4行になりますか?

コードは次のとおりです。

   while ($rowres = mysql_fetch_array($listres))
        {
            if ($_GET["ID"] == $rowres["ID"])
            {
                while ($row = mysql_fetch_array($result)) 
                {
                    $count++;
                     if ($rowres["FID"] == $row["ID"])
                        {

                        }
                }

            }
        } 
4

1 に答える 1

2

内側のループは結果を1ループだけループします。これは、結果の$ resultポインターの最後の要素にループした後、最後の要素の次のポイントになるため、ここでの最も簡単な方法は、おそらくポインターを先頭にリセットすることです。

while ($rowres = mysql_fetch_array($listres))
        {
            if ($_GET["ID"] == $rowres["ID"])
            {
                mysql_data_seek($result,0);  //<-HERE
                while ($row = mysql_fetch_array($result)) 
                {
                    $count++;
                     if ($rowres["FID"] == $row["ID"])
                        {

                        }
                }

            }
        } 

注意:mysql拡張機能は非推奨であり、将来削除される予定です。代わりにmysqliまたはPDOを使用してください

于 2012-12-14T22:35:53.860 に答える