0

データベースにクエリを実行し、後で別の関数で使用する値を作成しようとしています。最初の関数 (get_users()) は requests データベースをクエリし、特定の global_id にリストされているすべてのユーザーを検索する必要があります。このクエリには常に最大 4 人のユーザーが存在します。次に、2 番目の関数 (get_results()) を使用して、最初の関数 (get_users()) から取得した値を 2 番目の関数に挿入します。つまり、users1,2,3,4 を 2 番目の関数の get_results($user1, $user2, $user3, $user4) に入れる必要があります。

誰かが助けてくれることを願っています!ここに私の機能があります:

        function get_users($global_id)
    {
        $result = mysql_query("SELECT user_purchased FROM requests WHERE global_id = '$global_id'");
        $row = mysql_fetch_row($result);
        $user1 = $row[0];
        $user2 = $row[0];
        $user3 = $row[0];
        $user4 = $row[0];
    }
    function get_results($user1, $user2, $user3, $user4)
    {
        $result = mysql_query("SELECT * FROM results WHERE username != '$user1'
        AND username != '$user2'
        AND username != '$user3'
        AND username != '$user4'
        ORDER BY distance");
        ...more stuff to do here with the query
    }

ありがとう

4

2 に答える 2

1

最初の関数内で 2 番目の関数を呼び出します。

function get_users($global_id)
    {
        $result = mysql_query("SELECT user_purchased FROM requests WHERE global_id = '$global_id'");
$count = 0;        
while($row = mysql_fetch_array($result))
        {
        $user[$count] = $row;
        $count++;
        }
    get_results($user[0],$user[1],$user[2],$user[3]);
    }

    function get_results($user1, $user2, $user3, $user4)
    {
        $result = mysql_query("SELECT * FROM results WHERE username != '$user1'
        AND username != '$user2'
        AND username != '$user3'
        AND username != '$user4'
        ORDER BY distance");
        ...more stuff to do here with the query
    }

get_results 関数を単純化して、4 つの変数の代わりに 1 つの変数を配列として持つこともできます

function get_results($users)
        {
            $result = mysql_query("SELECT * FROM results WHERE username != '".$users[0]."'
            AND username != '".$users[1]."'
            AND username != '".$users[2]."'
            AND username != '".$users[3]."'
            ORDER BY distance");
            ...more stuff to do here with the query
        }

そして、最初の関数でこのように呼び出す必要があります

get_results($users);
于 2012-04-30T23:49:37.760 に答える
0

値をパラメーターとして別の関数に送信します。

function get_users($global_id)
{
    $result = mysql_query("SELECT user_purchased FROM requests WHERE global_id = '$global_id'");
    $row = mysql_fetch_row($result);
    $user1 = $row[0];
    $user2 = $row[0];
    $user3 = $row[0];
    $user4 = $row[0];

    //now send
   get_results($user1, $user2, $user3, $user4);
}
于 2012-04-30T23:52:31.830 に答える