美好的一天,
我希望有人能帮助我。我在Joomla中使用了VirtueMart。我找到了一种方法来改变产品的布局,将其更改为列表。
在VirtueMart中,您可以创建自定义字段,您可以在创建新产品后将其设置为。现在,在这个例子中,我有两个自定义字段:
现在,以下代码将显示" customfield_value"从数据库中的正确表WHERE" customfield_value"等于" virtuemart_product_id"。
<?php //make a database connection and find the field record that contains the customfield string
$db = JFactory::getDBO();
$db->setQuery("SELECT customfield_value FROM jos_virtuemart_product_customfields WHERE virtuemart_product_id=".$product->virtuemart_product_id.";");
$db->query();
$result = $db->loadResult();
echo ($result) ?>
这一切都很好。它必须这样做。但是,有一个问题。当我为另一个&#34; customfield_value&#34;复制这段代码时(批号),它仍然只显示第一个&#34; customfield_value&#34; (到期日)。
现在,它需要两个条件:
需要显示&#34; customfield_value&#34;在哪里&#34; customfield_ID&#34; =&#34; 2&#34;它在哪里等于当前&#34; product_id&#34;。
我希望这是有道理的。
我在下面写了一些代码,希望能让你知道它需要做什么。有人可以帮我查看这段代码,看看我做错了什么:
<?php //make a database connection and find the field record that contains the customfield string
$db = JFactory::getDBO();
$db->setQuery("SELECT customfield_value,customfield_id,virtuemart_product_id FROM jos_virtuemart_product_customfields WHERE virtuemart_product_id=".$product->virtuemart_product_id.";". AND "WHERE customfield_id=5");
$db->query();
$result = $db->loadResult();
echo ($result) ?>
感谢阅读,希望有人能帮助我。我一直在努力解决这个问题,但似乎无法做到这一点。
答案 0 :(得分:1)
您不必在条件中使用多个WHERE
关键字,只需使用AND
分隔它们,同时从查询中间删除;
$db->setQuery("SELECT customfield_value,customfield_id,virtuemart_product_id
FROM jos_virtuemart_product_customfields WHERE
virtuemart_product_id=".$product->virtuemart_product_id." AND customfield_id=5");