所以我正在尝试为我的网站制作购物车(没什么特别的,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>';
我需要在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
答案 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 /> £'.$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 /> £".$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>";
}
答案 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 /> £' . $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,但您可能会发现这些更容易。