0

私はbookscontaingフィールドという名前のテーブルを持っています

book_id | タイトル| 著者| まとめ

以下のコードを使用して、dbにクエリを実行し、本のタイトルと著者のリストを表示します。リストした後、本のタイトルリンクをクリックするたびに、データベースを再度クエリせずにその本の概要を表示したい... dbを再クエリせずに、$books_query_resultに保存されているデータを使用するだけでこれを実現するにはどうすればよいですか。

$books_query="SELECT * FROM books";
$books_query_result=mysql_query($books_query) or die("Could not get list".mysql_error());

echo "<table><tr>";
echo "<td>";


  while($list=mysql_fetch_array($books_query_result)){
    echo "<A href=\"" .$list['book_id'] ."\"> ". $list['title']. "</a>";
    echo $list['author']."<br>";
  }


# Now I want to reset and re-use mysql_fetch_array

  mysql_data_seek($books_query_result, 0); 
  $summary=mysql_fetch_array($books_query_result);


  echo "</td>";
  echo "<td>";

#display summary here


  echo "<td>";
  echo "</tr></table>";
4

2 に答える 2

1

表示されるはずのようにすべてのデータと要約を`style=" display:none"でdivに出力します。次に、リンク上で、可視性を切り替えるための関数への呼び出しを追加します:http ://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/ 。その関数もJavaScriptに追加してください。このように、データは常にそこにあり、データをリロードする必要はありません。

于 2012-05-11T06:49:49.677 に答える
0

$ books_query_resultのリセットと反復を再度行う場合は、mysql_data_seek($ books_query_result、0);を使用する必要があります。代わりに、mysql_data_seek($ selectcompany_query_result、0)。

whileループ内で配列を準備し、後でどこでも使用できます

while($list=mysql_fetch_array($books_query_result)){
    //echo "<A href=\"" .$list['book_id'] ."\"> ". $list['title']. "</a>";
    //echo $list['author']."<br>";

    // prepare array here
    $resultArray[] = $list;
}

次に、$resultArrayを使用します。

于 2012-05-11T06:53:17.750 に答える