[DataGridClass]:如何使结果集的第二列成为超链接?
问题描述:
我正在使用下面的课程,在主页上显示与分页相似的网格。班级非常好,工作正常。[DataGridClass]:如何使结果集的第二列成为超链接?
当网格显示的记录,我只是想第二列的值作为超链接。我尝试在$ c正在更新的类中添加href ...,但它不起作用。谁能帮我吗。
该类也使用“style.css文件”的文件,也可以从下面的链接。那里需要改变吗?
http://www.webmastergate.com/php/paginate-query-results.html
答
在功能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另一个关联数组 - 它一定程度,就不再需要在添加链接,你可以添加自定义操作,以每一行。
答
你不能。您可以将格式责任委派给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。
我已经详细阅读类,并认为有没有修改它,因为你不能满足连续一列其他的解决办法。
感谢您的替代解决方案。 – RKh 2009-10-24 10:49:52