2012-05-11 40 views
0

帶來的數據我有一個表名爲books方含領域重新使用mysql_fetch_array

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>"; 
+3

不要這樣做,只需將提取的數據存儲在一個數組中,您可以重複使用過濾器。 –

+1

第二次你沒有像以前一樣的結果集:books vs. $ selectcompany_query_result – djot

回答

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。

+0

Oopps,這是輸入錯誤。我編輯了這個問題。謝謝。 – mustafa

+0

之後,我們是否需要javascript才能在點擊標題時顯示摘要? – mustafa

+0

@mustafa,是的,你可以比使用數組,如你所願,同樣我們正在使用其他PHP數組多次 – Sanjay

1

打印所有的數據應該是可見的,彙總到`style =「display:none」的div中。然後在鏈接上添加對用於切換可視性的功能的調用:http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/。請確保您也將該功能添加到您的JavaScript。這樣你的數據總是在那裏,你不需要重新加載它。