0

我认为这很容易解决,因为看起来我的语法是这里的问题。我已经搜索了其他更简单的 stackoverflow 问题,但似乎无法解决这个问题。

我收到一个 Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\Active\Formula One\admin\list_products.php 错误。

我正在对我的数据库中的项目进行简单的列表视图,并可以选择通过使用 ID 来编辑它们。尝试将<a href>标记添加到表中,但无法找出正确的语法来添加它。

我试图包含的链接是 <td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>

表是这样显示的;

echo "<tr>
<td>" . $row['id'] . "</td>
<td>" . $row['prod_id'] . "</td>
<td>" . $row['prod_sub_id'] . "</td>
<td>" . $row['name'] . "</td>
<td>" . $row['description'] . "</td>
<td>" . $row['price'] . "</td>
<td>" . $row['sale'] . "</td>
<td>" . $row['picture'] . "</td>
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>";

感谢您的帮助,对不起,这是一个如此简单的问题,但我一直试图解决这个问题。

4

3 回答 3

3

您必须转义双引号

<td><a href=\" ../admin/admin.master.php?page=blog/edit_post.php&id=" . $row['id'] . "\">Edit</a> </td>
于 2012-12-30T22:35:20.820 回答
2

它不会直接回答您的问题,但您确实应该避免打印 HTML 标签。PHP 替代控制结构专门用于解决此类问题。

因此,您应该将 HTML 标记与 PHP 分离。

<table>

<!-- This is just an example, you shouldn't use mysql_* functions anymore -->
<!-- Use PDO or MySQLi instead -->
<?php while($row = mysql_fetch_assoc($resourse)) :?>

<tr>
  <td><?php echo $row['id'] ?></td>
  <td><?php echo $row['prod_id']; ?></td>
  <td><?php echo $row['prod_sub_id'];?> </td>
  <td><?php echo $row['name']; ?></td>
  <td><?php echo $row['description']; ?></td>
  <td><?php echo $row['price']; ?></td>
  <td><?php echo $row['sale']; ?></td>
  <td><?php echo $row['picture'];?></td>
  <td><a href="<?php printf('../admin/admin.master.php?page=blog/edit_post.php&id=', $row['id']);?> ">Edit</a> </td>

</tr>

<?php endwhile; ?>

</table>

结论:

  1. 这将使代码清晰易读
  2. 易于维护
  3. 让您有信心不会出现这样的语法错误(通常)
于 2012-12-30T22:46:29.337 回答
1

问题似乎是 php 没有意识到<a href="is 用于链接,而是将双引号翻译为字符串的结尾,结果它给你一个错误。

更改这行代码:

    "</td>
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>";

对此:

'</td> // this needs a single quote in the beginning (not a double quoute)
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>'; // this also needs a single quote

如您所见,您以双引号开头,并以单引号结尾,这使 php 感到困惑。

如果您需要更多帮助,请告诉我们

于 2012-12-30T22:42:49.757 回答