我正在使用以下类在我的主页上显示带有分页的网格外观。这堂课非常好,工作正常。
当网格显示记录时,我只想将第二列值作为超链接。我尝试在$ c正在更新的类中添加一个href ...但它不起作用。谁能帮我吗。
此类还使用“style.css”文件,该文件也可从以下链接获得。那里需要改变吗?
http://www.webmastergate.com/php/paginate-query-results.html
答案 0 :(得分: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;
}
我建议的另一个数据网格是http://www.eyesis.ca/projects/datagrid.html - 它可以部分删除添加链接的需要,因为您可以为每一行添加自定义操作。
答案 1 :(得分: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。
我已经仔细阅读了这个类,并认为没有修改它就没有其他解决方案,因为你无法连续处理单个列。