我的网站在数据库中有大量产品。我想为每个产品添加一个产品表,但数据库没有设置" slot"为了它。所以我想在模板中编写一个PHP代码来检查部件号,并使用它来加载产品表的正确URL作为链接。例如
<?php
if (strpos($product_sku,'KE15000/12') !== false) {
$factsheetimage_urlZ='/images/FactsheetBTN.png';
$factsheetweblink_url="images/factSheetKE15000/12.pdf";
} else if (strpos($product_sku,'KE2000/12') !== false) {
$factsheetimage_urlZ='/images/FactsheetBTN.png';
$factsheetweblink_url="images/factSheetKE20000/12.pdf";
} else {
$factsheetimage_urlZ='/images/blank.png';
}
?>
<div>
<a href="<?php echo $factsheetweblink_url;?>">
<img src="<?php echo $factsheetimage_urlZ;?>"></a>
</div>
我现在正在使用if else语句(我对PHP很新)我想知道是否有办法检查$product_SKU
对XML文档是否自动加载正确的链接,而不是做300 if else语句。 ($product_SKU
是每页上加载的唯一产品代码)
答案 0 :(得分:0)
有几种方法可以解决这个问题。
如果$factsheetweblink_url
可以基于$product_sku
以某种程序方式生成,那可能是我的第一选择。例如。 $factsheetweblink_url = "images/factSheet{$product_sku}.pdf";
其次,如果可能,将此列添加到数据库将是最佳选择。
否则,您提到的查找表当然是可能的,XML是一种选择。如果您手动编写,或者需要由非技术人员编写,则需要考虑选择格式。如果它只是你,我可能会使用更简单的格式(甚至是普通的PHP数组)。
这种类型的映射作为PHP数组的简单示例可能如下所示:
sku_url_map.php:
<?php
return [
'KE15000/12' => 'images/factSheetKE15000/12.pdf',
'KE20000/12' => 'images/factSheetKE20000/12.pdf',
];
product_page.php:
<?php
$sku_url_map = require 'sku_url_map.php';
// ...
if (isset($sku_url_map[$product_sku])) {
$factsheetweblink_url = $sku_url_map[$product_sku];
}
当然,如果更简单的1:1映射,可以使用更复杂的结构。