• ベストアンサー

検索結果IDの使いまわしについて

いつもお世話になります。 MySQL+PHPでシステムを構築しております。 PHPのmysql_queryもしくはmysql_db_queryで得た結果IDを使いまわす方法はありませんか? というのも、MySQLへ同じ検索をかける必要がある場合、都度検索するより、一度検索した結果IDを使えれば楽なのですが。。。 実際にやりたい事は、PHPのwhile関数で結果ID分の繰り返し処理を行い、その後、同じ繰り返し処理を行いたいのですが、再度、検索クエリ文をmysql_queryもしくはmysql_db_queryを行わずに利用できる方法があればと考えております。宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

>$resultの使いまわしが出来れば理想的なのですが、一度mysql_fetch_arrayで使用してしまうと、その後、同じ結果IDをmysql_fetch_arrayで使用できないんです。  行ポインタが最後まで行ったあとに、また巻き戻したいときは、mysql_data_seek($result,$row_number) を使います。

参考URL:
http://php.s3.to/man/function.mysql-data-seek.html
nikuq
質問者

お礼

お礼が遅くなってごめんなさい。 ありがとうございます。 お教えいただいた関数でやりたい事ができました! たすかりました!!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

おっしゃる意味が正確には把握できないのですが、 $result=mysql_query($sql,$link) でえた、$resultを使いまわすか、 while($row = mysql_fetch_array($result,MYSQL_ASSOC)){ $datas[]=$row; } など適当な配列にデータを保持しておけばデータの使いまわしは可能です

nikuq
質問者

補足

早速のご回答ありがとうございます。 すみません説明ベタで・・・ $resultの使いまわしが出来れば理想的なのですが、一度mysql_fetch_arrayで使用してしまうと、その後、同じ結果IDをmysql_fetch_arrayで使用できないんです。 なので、使用できる方法があればと思ってご質問させて頂きました。