基于另一个字段值的PDO php回显字段

基于另一个字段值的PDO php回显字段,php,select,pdo,Php,Select,Pdo,如何根据另一个字段的值回显一个字段? 我希望我的剧本能告诉你我想要什么 $sth = $conn->prepare("SELECT * FROM table WHERE item = '$item'"); $sth->execute(); $row = $sth->fetch(PDO::FETCH_ASSOC); echo ($row['amount'] WHERE $row['currency'] = 'USD'); 这是我根据你的想法创作的剧本。。但对我来说,这么愚蠢

如何根据另一个字段的值回显一个字段? 我希望我的剧本能告诉你我想要什么

$sth = $conn->prepare("SELECT * FROM table WHERE item = '$item'");
$sth->execute();
$row = $sth->fetch(PDO::FETCH_ASSOC);

echo ($row['amount'] WHERE $row['currency'] = 'USD');

这是我根据你的想法创作的剧本。。但对我来说,这么愚蠢还是毫无意义的。底部带有$pdf的脚本可以忽略

foreach($conn->query("SELECT amount FROM stockpricetable WHERE itemrelation = '$row[itemnumber]'") as $row2) {
    if ($row2['exchange'] == '') { $DKK = $row2['amount'];}
    if ($row2['exchange'] == 'CHF') { $CHF = $row2['amount'];}
    if ($row2['exchange'] == 'EUR') { $EUR = $row2['amount'];}
    if ($row2['exchange'] == 'GBP') { $GBP = $row2['amount'];}
    if ($row2['exchange'] == 'SEK') { $SEK = $row2['amount'];}
    if ($row2['exchange'] == 'USD') { $USD = $row2['amount'];}
}
    $pdf->Text(26, 4, 'DKK'.$DKK);
    $pdf->Text(26, 8, 'EUR'.$EUR);
    $pdf->Text(26, 12, 'GBP'.$GBP);
    $pdf->Text(46, 4, 'SEK'.$SEK);
    $pdf->Text(46, 8, 'CHF'.$CHF);
    $pdf->Text(46, 12, 'USD'.$USD);

那是遍历整个结果的问题吗

while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
   if ($row["currency"] == "USD") echo $row["amount"];
} 

这应该只是以下情况:

$sth = $conn->prepare("SELECT * FROM table WHERE item = '$item'");
$sth->execute();
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {

if ($row['currency'] == 'USD') {
    echo $row['amount'];
}
虽然这是假设if语句上面的代码正确地获取了数据库结果,但很抱歉,我仍然使用不推荐的
mysql.*
函数。

试试:

while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
 if (strstr($row["amount"], 'USD) !== FALSE) 
   echo $row["amount"];
} 

是 啊问题是,我有6种不同的货币,但它们是作为字段中的数据而不是列名写入的。echo不是sql no where Clausion来查看我的更新。。也许你明白我在寻找什么…在下面的答案中,它不是已经解决了吗。丹尼斯没有解决它吗?它会返回错误。。但可能是由其他脚本造成的。好的,你有一个你正在寻找的项目。你想回应什么。你的问题有点变了。你只想要美元吗