[英]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 /> £'.$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 /> £'.$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 /> £'.$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 /> £".$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 /> £".$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 /> £' . $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 /> £$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 /> £' . $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 /> £' . $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.