【问题标题】:PHP - hyperlink in statementPHP - 声明中的超链接
【发布时间】:2015-06-16 00:34:39
【问题描述】:

如何在以下 PHP 语句中插入超链接:

while($record = mysql_fetch_array($data)){
    echo "<tr>";
    echo "<td>".$record['A'].$record['B'].</a>."</td>";
    echo "</tr>";
    }

我正在创建一个包含一列的表格。我想创建一个链接,以便在单击任何行上的文本时,它会打开超链接上的页面。

我应该在语句中的何处插入超链接?链接是恒定的。

记录“A”和“B”来自 SQL 选择查询。

【问题讨论】:

  • 每一行是不同的链接 - 还是一个恒定的链接?

标签: php sql hyperlink


【解决方案1】:

在你的 while 循环中

while($record = mysql_fetch_array($data)){
    echo "<tr>";
    echo "<td>".$record['A'].$record['B'].</a>."</td>"; //Here you should get some error
    echo "</tr>";
    }

你应该添加一个anchor标签

echo "<td><a href='".$record['A'].$record['B']."'>Somenametodisplay</a>"."</td>";

对于动态文本,您应该将值替换为 Somenametodisplay

所以你会拥有

while($record = mysql_fetch_array($data)){
    echo "<tr>";
    echo "<td><a href='".$record['A'].$record['B']."'>Somenametodisplay</a>"."</td>";
    echo "</tr>";
    }

或者,如果您想显示名称中的值,那么

 while($record = mysql_fetch_array($data)){
        echo "<tr>";
        echo "<td><a href='yourpath'>".$record['A'].$record['B']."</a>"."</td>";
        echo "</tr>";
        }

【讨论】:

  • 感谢您的回答。记录 A 和 B 表示来自 SQL 查询的文本。
【解决方案2】:
while($record = mysql_fetch_array($data)){
    echo "<tr>";
    echo "<td><a href='#'>{$record['A']} {$record['B']}</a></td>";
    echo "</tr>";
    }

【讨论】:

  • 请避免简单地转储代码,您也应该尽可能提供解释。
【解决方案3】:

如果您的 db 表中有属性“链接” - 请尝试以下操作:

while($record = mysql_fetch_array($data)){
echo '<tr>';
echo '<td><a href="'.$record['link'].'">'.$record['A'].$record['B'].'</a></td>';
echo '</tr>';}

如果你想链接整行,你可以使用这样的 js 处理程序:

echo '<tr onClick="document.location.href=\''.$record['link'].'\'">';

【讨论】:

    【解决方案4】:

    对于每一行的单个链接:

    while($record = mysql_fetch_array($data)){
        echo "<tr>";
        echo "<td><a href='urlhere'>".$record['A'].$record['B']."</a></td>";
        echo "</tr>";
    }
    

    正如您所说,它是每一行上的恒定链接,为什么不将其应用于整个表格呢?这样你就不会有不必要的代码使你的表膨胀。

    只需将整个表格包装在链接中,如下所示:

    echo "<a href='urlhere'>";
    echo "<table>";
    while($record = mysql_fetch_array($data)){
        echo "<tr>";
        echo "<td>".$record['A'].$record['B']."</td>";
        echo "</tr>";
    }
    echo "</table>";
    echo "</a>"; 
    

    【讨论】:

    • 感谢您的回答。但是,在尝试您的第一个答案时,我收到以下错误:Parse error: syntax error, unexpected 'http' (T_STRING), expecting ',' or ';'
    【解决方案5】:

    只需将此代码复制并粘贴到给定代码的位置即可。它会起作用的。

    while($record = mysql_fetch_array($data)) {
        echo "<tr>";
        echo "<td><a href='test.php'>".$record['A'].$record['B']."</a></td>";
        echo "</tr>";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      相关资源
      最近更新 更多