2017-09-20 19 views
-1

おはよう、複数のWHERE句を使用して結果を表示しますか?

誰かが私を助けてくれることを望んでいました。私はJoomlaでVirtueMartを使用しています。私は、製品のレイアウトを変更してリストに変更する方法を見つけました。

VirtueMartでは、カスタムフィールドを作成することができます。このフィールドでは、新しい製品を作成した後に値を設定できます。さて、この例では、私は2つのカスタムフィールドを持つ:

  1. 期限
  2. バッチ番号

今、正しいテーブルから「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) ?> 

これはすべて順調です。それはそうする必要があります。しかし、1つの問題があります。このコードを他の "customfield_value"(バッチ番号)にコピーすると、最初の "customfield_value"(有効期限)だけが表示されます。

だから今、それは二つの条件が必要です

それは「customfield_value」「customfield_ID」=「2」AND WHEREそれは現在の「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,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) ?> 

おかげで、私は誰かが私を助けることができると思います。私はこれに苦しんできたし、ちょうどそれを正しくするように見えない。

答えて

1

あなたはどうもありがとうの男が、私はそれを試してみるだろうだけでも、クエリ

$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"); 
+0

の途中から;を削除する場所でそれらを分離するためにANDを使用した状態で複数のWHEREキーワードを使用する必要はありません!私はコードの構造について迷惑をかけてみましたが、このバージョンを試していないので、うまくいきたいと思います。 – MailBlade

関連する問題