php - 添加指向我的SQL查询表的链接

时间:2014-05-27 20:57:49

标签: php mysql sql

我目前在我的网站上使用以下查询/表格显示功能表。我需要修改表的显示方式,这样我就可以根据我在查询中调用的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>";
}

4 个答案:

答案 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>";
}