PHP主播问题

时间:2013-04-10 18:13:33

标签: php html anchor

我目前遇到这行代码的问题:

echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";

基本上在创建页面时,我希望链接格式化为userdetails.php?USERNAME,但由于我认为是语法错误,它会不断向我抛出错误。 任何帮助都会非常感激,我对PHP有点新鲜。

添加了注释:整个代码块都是这样(其他行有效):

while ($row = mysql_fetch_array($query)) {
    echo "<tr>";
    echo "<td>".$row[username]."</td>";
    echo "<td>".$row[emailaddress]."</td>";
    echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";
    echo "</tr>";
}

5 个答案:

答案 0 :(得分:1)

这有两个原因:错误的引用和错误的数组索引引用。

太糟糕了:

echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";

应该是

echo "<td><a href=\"userdetails.php?".$row['username']."\">View Details</a></td>";

echo '<td><a href="userdetails.php?'.$row['username'].'">View Details</a></td>";

这样也可以更加凌乱:

printf('<td><a href="userdetails.php?%s">View Details</a></td>', $row['username']);

答案 1 :(得分:0)

基本的PHP语法。如果您打开带引号的字符串,请再次使用该引号关闭字符串:

echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";
     ^--open
          ^--close
           ^---huh?

您需要转义属于输出的内部引号:

echo "<td>\"<a href="userdetails.php?".$row[username].">View Details</a></td>";
          ^---

答案 2 :(得分:0)

使用

while ($row = mysql_fetch_array($query)) {
    echo '<tr>';
    echo '<td>'.$row["username"].'</td>';
    echo '<td>'.$row["emailaddress"].'</td>';
    echo '<td><a href="userdetails.php?'.$row["username"].'">View Details</a></td>';
    echo '</tr>';
}

答案 3 :(得分:0)

while ($row = mysql_fetch_array($query)) {
?>
<tr>
<td><?= $row['username']; ?></td>
<td><?= $row['emailaddress']; ?></td>
<td><a href="userdetails.php?<?= $row['username']; ?>">View Details</a></td>
</tr>
<?php
}

仅在需要PHP时才打开PHP标记。

答案 4 :(得分:0)

试试这个

while ($row = mysql_fetch_array($query)) {
    echo '<tr>';
    echo '<td>'.$row['username'].'</td>';
    echo '<td>'.$row['emailaddress'].'</td>';
    echo '<td><a href="userdetails.php?'.$row[username].'">View Details</a></td>';
    echo '</tr>';
}