0

我有一个名为 books 的表,其中包含以下字段

book_id | 标题 | 作者 | 概括

使用下面的代码查询数据库并显示书名和作者列表。列出后,每当单击一本书的标题链接时,我想显示该书的摘要而不再次查询数据库...如何在不重新查询数据库并仅使用 $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 回答