我有一个名为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>";
答案 0 :(得分:1)
打印所有应该可见的数据,并将摘要打印到div中,并使用`style =“display:none”。然后在链接上添加对函数的调用,该函数用于切换可见性:http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/。确保您还将该功能添加到您的JavaScript中。这样,您的数据始终存在,您无需重新加载。
答案 1 :(得分: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。