2009-10-24 53 views
0

我正在使用下面的課程,在主頁上顯示與分頁相似的網格。班級非常好,工作正常。[DataGridClass]:如何使結果集的第二列成爲超鏈接?

當網格顯示的記錄,我只是想第二列的值作爲超鏈接。我嘗試在$ c正在更新的類中添加href ...,但它不起作用。誰能幫我嗎。

該類也使用「style.css文件」的文件,也可以從下面的鏈接。那裏需要改變嗎?

http://www.webmastergate.com/php/paginate-query-results.html

回答

1

在功能GetRows的(),不遠的地方$ c變量設置函數的最後行。你必須以某種方式測試這是否是你想添加鏈接的列。建議您所設置的存儲密鑰和一個回調函數

$r = ''; 
    while ($row = mysql_fetch_assoc($result)) { 
     $c = ''; 

     foreach($row as $key=>$field) { 
       //manipulate data here 
      $c .= $this->fmtField($key, $field); 
     } 
     $r .= sprintf($this->rowfmt, $cr ? $classodd : $classeven, $c); 
     $cr = 1 - $cr; 
    } 

另一個DataGrid中我會推薦是http://www.eyesis.ca/projects/datagrid.html另一個關聯數組 - 它一定程度,就不再需要在添加鏈接,你可以添加自定義操作,以每一行。

+0

感謝您的替代解決方案。 – RKh 2009-10-24 10:49:52

1

你不能。您可以將格式責任委派給mysql查詢以獲取可能的解決方法。

例如,你可以格式化像這樣的查詢:

SELECT firstField, 
    concat ('<a href="', secondField, '">', thirdField,'</a>') as link_column, 
    .... 

假設你有URL中的第二場和第三個保存的鏈接的文本。

另一種解決方案(無文本)可以

SELECT firstField, 
    concat ('<a href="', secondField, '">', secondField,'</a>') as link_column, 
    .... 

如果你需要表現出比使其他鏈接的URL。

我已經詳細閱讀類,並認爲有沒有修改它,因爲你不能滿足連續一列其他的解決辦法。

相關問題