在PHP里面的html里面用href中的PHP变量?

时间:2014-05-03 13:41:43

标签: php html

所以我正在尝试为我的网站制作购物车(没什么特别的,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>';

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

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

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

4 个答案:

答案 0 :(得分:0)

必须在PHP中从字符串中提取变量,所以:

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

就像你为其他变量所做的那样。

答案 1 :(得分: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>';

答案 2 :(得分:0)

您可以在引号之间使用变量名称 如果它是单引号,则必须将{}置于变量

周围 否则,如果它是双引号,您可以直接使用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>";
}

答案 3 :(得分:0)

您最初的问题是,您没有正确地跳出单引号以添加$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,但您可能会发现这些更容易。