混淆了如何从一个返回一组特定值的查询中获取另一行

时间:2015-01-20 16:42:12

标签: php mysql pdo

我下载了一些使用PDO的代码,我不太熟悉它 - 我通常使用mysqli_语句,但我也在努力学习如何使用PDO。

在下面的代码中,用户开始在一个字段中键入一个部件号,然后系统返回数据库的quotePartNumber字段中的任何值,这些字段与他们输入的内容相似。

$keyword = '%'.$_POST['keyword'].'%';
$sql              = "SELECT DISTINCT quotePartNumber from allparts where quotePartNumber LIKE (:keyword) LIMIT 0,10";

$query = $pdo->prepare($sql);
$query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$query->execute();
$list = $query->fetchAll();
foreach ($list as $rs) {
    // put in bold the written text 
  $country_name = str_replace(strtoupper($_POST['keyword']), '<b>'.$_POST['keyword'].'</b>', $rs['quotePartNumber']);

    // add new option
    echo '<li onclick="set_mainPartNumber(\''.str_replace("'", "\'", $rs['quotePartNumber']).'\')">'.$country_name.'</li>';
}

这非常有效...我已经玩了大约两个小时的代码试图弄清楚如何将它拉到supplier字段,这也在同一个表中。

当用户开始输入部件号时,我还希望返回与该行的部件号匹配的供应商。我不知道怎么做...虽然...

任何想法?

1 个答案:

答案 0 :(得分:2)

它应该像更改select语句一样简单。

$sql = "SELECT DISTINCT quotePartNumber, supplier from allparts where quotePartNumber LIKE (:keyword) LIMIT 0,10";

然后你可以通过更新echo语句来显示它。

 echo '<li onclick="set_mainPartNumber(\''.str_replace("'", "\'", $rs['quotePartNumber']).'\')">'.$country_name.' - '.$rs['supplier'].'</li>';