我目前在我的网站上使用以下查询/表格显示功能表。我需要修改表的显示方式,这样我就可以根据我在查询中调用的CompanyID使最终列成为链接。
查询(为安全而清理):
$tableResults = dbQuery('SELECT CompanyName, ContractStatus, LEFT(ContractDate, 10), CCNumber, LevelName, cinfo.CompanyID
FROM <databases> WHERE <things>
order by CompanyName');
while($tableRow = mysql_fetch_assoc($tableResults))
{
$tableData[] = $tableRow;
}
$tableColNames = array_keys(reset($tableData));
表格(忽略格式化,数据结构是我关注的):
<table width="100%" border="0" cellspacing="1" cellpadding="5" class="tablesorter" id="contcomm_table">
<thead>
<tr>
<th class="header"><strong>Company Name</strong></th>
<th class="header"><strong>Contract Status</strong></th>
<th class="header"><strong>Contract Date</strong></th>
<th class="header"><strong>Writing Number</strong></th>
<th class="header"><strong>View Comm Schedule</strong></th>
</tr>
</thead>
<tbody>
<?
foreach($tableData as $row)
{
echo "<tr>";
foreach($tableColNames as $colName)
{
echo "<td>" . $row[$colName] . "</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
有问题的链接是'/_Document.pdf'。我想我有一个星期一的案例,因为我现在无法理解这一点。
编辑:到目前为止的答案让我更接近,现在我只需要克服最后的驼峰。我有一切显示正确,URL将显示...但现在我需要将URL与URL中的公司ID连接。所以,我现在正在研究的相关领域,以及我最大的努力:
if ($colName=='LevelName') {
echo "<td><a href='http://my.url.here/".$CompanyID."_Document.pdf' target='_blank'>" . $row[$colName] . "</a></td>";
}
else {
echo "<td>" . $row[$colName] . "</td>";
}
答案 0 :(得分:1)
这样的事情应该足够了:
if($colName == 'DocumentName') {
echo "<td><a href='" . $row[$colName] . "' target='_blank'>View PDF</a></td>";
} else {
echo "<td>" . $row[$colName] . "</td>";
}
这将替换您打印表数据的foreach的内部部分。如果列名称不是您的文档列的名称,它将像平常一样打印。如果是,则打印一个链接。
答案 1 :(得分:1)
应该是这样的:
<table width="100%" border="0" cellspacing="1" cellpadding="5" class="tablesorter" id="contcomm_table">
<thead>
<tr>
<th class="header"><strong>Company Name</strong></th>
<th class="header"><strong>Contract Status</strong></th>
<th class="header"><strong>Contract Date</strong></th>
<th class="header"><strong>Writing Number</strong></th>
<th class="header"><strong>View Comm Schedule</strong></th>
</tr>
</thead>
<tbody>
<?
foreach($tableData as $row)
{
echo "<tr>";
foreach($tableColNames as $colName)
{
if ($colName=='name_of_you_link)' echo "<td><a href='/_Document.pdf'>" . $row[$colName] . "</td>";
echo "<td>" . $row[$colName] . "</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
答案 2 :(得分:0)
基本上:
foreach($tableColNames as $colName) {
if ($colName=='CompanyID') {
echo "<td><a href='URL?' >" . $row[$colName] . "</a></td>";
} else {
echo "<td>" . $row[$colName] . "</td>";
}
}
答案 3 :(得分:0)
根据您的最新代码,这会解决您的上一个问题吗?
if ($colName=='LevelName') {
echo "<td><a href='http://my.url.here/".$row[CompanyID]."_Document.pdf' target='_blank'>" . $row[$colName] . "</a></td>";
}
else {
echo "<td>" . $row[$colName] . "</td>";
}