2011-12-14 10 views
0

私は2つのPHPページ:query.phpresult.phpを持っています。PHPのページ間で結果セットを返す

query.phpでは、私はquery(select)文を実行しています。それは

$rs = mysql_query($query); 

は今、私は別のページresult.phpquery.phpからこのResultSetを返すとそれに仕事をしたい結果セットを返します。このように:

query.phpで:

return $rs 

result.phpで:上記の推奨されていない場合

$result = executeQuery($query) // we get the resultset in this variable 
while ($row == mysql_fetch_array($result){ 
//do something 
} 

、選択肢を私に提供してください。しかし、私は、異なるページでクエリ関数と結果セットを必要とします。

答えて

1

あなただけのソースファイルで別々のコードを保つために探しているが、実際にあるページから別のページにリダイレクトするために必要とされていない場合は、ちょうどあなたのquery.phpページでresults.phpを含めることができます

results.phpで

$rs = mysql_query($query); 
include "results.php"; 

:query.phpで

while ($row == mysql_fetch_array($rs){ 
    //do something 
} 

限りPHPがどのように動作するかではありませんそのページから別のページに "$ RSを返す" しようとしているよう。 return文は関数内でのみ有効です。あなたが実際にあるPHPページから別のPHPページへデータを渡し、その他のページにリダイレクトする場合は、セッション、クッキー、URLで渡す(つまりGETを使う)、またはカールを使用して追加する必要がありますそれはPOST var。

+0

でも、ページ間で配列を返すことはできますか?だから私はquery.phpページで配列を作成し、results.phpページに返すことができる場合、私はそれを使用することができます。しかし、それを行う方法に立ち往生?任意のヘルプpls? –

+0

あるページから別のページに何か「戻す」ことはできません。関数の結果を、その関数を呼び出したコード内の位置に返します。ページ内に配列を作成し、別のページに「返す」ことはできません。おそらく、最初の場所に2つのPHPファイルを置いておきたい理由について詳しく説明した場合(元の投稿を編集してこのコメントスレッドに詳細を追加しないでください)、より多くのヘルプを提供することができます。 – TheOx

+0

ok、今私は理解している..私はそれを2 diffページで別々に保つために再利用できるようにしようとしている。 –

0

これが本当に必要な場合は、結果セットをデータベースまたはファイルに保存し、それぞれの結果に一意の名前を付けます。その後、その名前を次のページに渡して、検索することができます。

query.phpは、たとえばresult.php?result_set=ab24sdfsdfkllsにリダイレクトされます。

これには、result_setを必要なだけ頻繁に使用できるという利点があります。訪問者は1回の訪問中に複数の結果セットを持つことができます。結果セットページのURLを他の人と共有することができます。

データストアが肥大化していくように、最終的にプルーニングするようにしてください。

+0

しかし、私はどのように結果セットをURLに送ることができますか?結果セットはリソースIDを返します。それをURLで送信すると、URLのresourceidからデータを取得する方法はありますか? plsヘルプ –

関連する問題