繁体   English   中英

在php内的html内的href内使用PHP变量?

[英]Use PHP variable in href inside of html inside of php?

因此,我正在尝试为我的网站制作购物车(没什么特别的uni项目)。

目前我有

$product_id = $row["ID"];
$product_name  = $row['name'];
$product_price = $row['price'];
$product_image = $row['img'];
$imgurl = ".\img\\".$product_image;

if ($i % 3 == 0) { // if $i is divisible by our target number (in this case "3")
    $dyn_table .= '<tr><td align="center" valign="middle" width="350">'. "<img src=$imgurl width='100' hieght='100'> <br />" . $product_name . '<br /> &pound'.$product_price . '<br /><a href="./cart.php?product="$product_id"&action=add" />Add to Card</a></td>';
} else {
    $dyn_table .= '<td align="center" valign="middle" width="350">'. "<img src=$imgurl width='100' hieght='100'> <br />" . $product_name . '<br /> &pound'.$product_price . '<a href="./cart.php?product=$product_id&action=add" />Add to Card</a></td>';

我需要在具有$ product_id的href中插入产品ID

<a href="./cart.php?product=$product_id&action=add" />Add to Card</a>

当前,它将链接加载为domain.com/cart.php?product=$product_id&action=add

在PHP中,必须从字符串中提取变量,因此:

<a href="./cart.php?product='.$product_id.'&action=add" />Add to Card</a>

就像您为其他变量所做的一样。

这个:

$dyn_table .= '<tr><td align="center" valign="middle" width="350">'."<img src=$imgurl width='100' hieght='100'><br />" . $product_name.'<br /> &pound'.$product_price .'<br /><a href="./cart.php?product=" .$product_id. "&action=add." />Add to Card</a></td>';

您可以在引号之间使用变量名
如果用单引号引起来,则必须在变量周围加上{}

否则,如果是双引号,则可以直接使用varibale

if ($i % 3 == 0) {
$dyn_table .= "<tr><td align='center' valign='middle' width='350'>". "<img src=$imgurl width='100' hieght='100'> <br />" . $product_name . "<br /> &pound".$product_price . "<br />
<a href='./cart.php?product={$product_id}&action=add' />Add to Card</a></td>";
} else {
$dyn_table .= "<td align='center' valign='middle' width='350'>". "<img src=$imgurl width='100' hieght='100'> <br />" . $product_name . "<br /> &pound".$product_price . "<a href='./cart.php?product={$product_id}&action=add' />Add to Card</a></td>";
}

您最初的问题是您没有正确跳出单引号来添加$product_id ,但是代码中还有另一个工具性问题。

您应该使用所有''单引号或所有""双引号,而不要同时使用两者。 这使得它很难阅读,而且无论如何都是不必要的。

因此,应该是

$dyn_table .= '<tr><td align="center" valign="middle" width="350"><img src="' . $imgurl . '" width="100" hieght="100"> <br />' . $product_name . '<br /> &pound;' . $product_price . '<br /><a href="./cart.php?product=' . $product_id . '&action=add" />Add to Card</a></td>';

要么

$dyn_table .= "<tr><td align=\"center\" valign=\"middle\" width=\"350\"><img src=\"$imgurl\" width=\"100\" hieght=\"100\"> <br />$product_name<br /> &pound;$product_price<br /><a href=\"./cart.php?product=$product_id&action=add\" />Add to Card</a></td>";

在这种情况下,我可能会使用单引号,这样就不必在HTML中甚至在Heredoc中都转义所有双引号,但是我现在不讨论它们。

您的单引号代码将是

if ($i % 3 == 0) { // if $i is divisible by our target number (in this case "3")
    $dyn_table .= '<tr><td align="center" valign="middle" width="350"><img src="' . $imgurl . '" width="100" height="100"> <br />' . $product_name . '<br /> &pound;' . $product_price . '<br /><a href="./cart.php?product=' . $product_id . '&action=add" />Add to Card</a></td>';
} else {
    $dyn_table .= '<td align="center" valign="middle" width="350"><img src="' . $imgurl . '" width="100" hieght="100"> <br />' . $product_name . '<br /> &pound;' . $product_price . '<a href="./cart.php?product=' . $product_id . '&action=add" />Add to Card</a></td>';

我建议您尽管在heredocs中查找,但您可能会发现它们更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM