2012-04-30 7 views
0

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

誰かがお手伝いできます!ここには私の関数です:

 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 
    } 

おかげ

+0

それは 'JOIN'を検討する価値があるかもしれない:http://www.w3schools.com/sql/sql_join.asp – rjz

+0

それは' $行を繰り返すために良いです[0] '' $ user1のを定義するとき'' $ user4'に? –

+0

ええ、私はそれが$行[1]、$行[2]、$行[3]、$行[4]かもしれないと思いますか? –

答えて

1

は、最初の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 
    } 

あなたも、配列の代わりに4として一つの変数を持つようにget_results機能を簡素化することができますvarialbles

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); 
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); 
} 
関連する問題