搜索表单以从两个不同的表中搜索和获取数据

时间:2019-05-03 12:19:31

标签: sql

我有两个表ITEMS和BARCODE,每个表通过“ id”列相互关联。

例如

ITEMS表具有

id    Name    
1     Deodorant 1

BARCODE表具有

id     barcode
1      56654397547

如何通过在搜索表单中键入条形码以使用PDO显示产品名称来执行搜索?

我不熟悉PDO,并且具有sql的基本知识

编辑:很抱歉未能正确解释该问题,该数据库是销售点“ POS”数据库,并且我正尝试构建搜索表单以扫描产品条形码以在远程位置查看其价格。

这是具有两个表的简单访存的数据库连接代码:

    <?php

try {
    $conn = new PDO("sqlsrv:Server=localhost;Database=Marketing", "sa", "");
    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    }
    catch (Exception $se)
    {
    die ( print_r( $e->getMessage() ) );
    }
    $tsql = "SELECT * FROM ITEMS";
    $getResults = $conn->prepare( $tsql);
    $getResults->execute();
    $results = $getResults->fetchALL (PDO::FETCH_BOTH);
    foreach($results as $row) {
    echo $row['ITEM_ID'].'  '.$row['ITEM_NAME'];
    echo '<br>'; }  
    ?>

像这样的表构造

ITEMS表

ITEM_ID   ITEM_NAME 
0         Deodorant 1
1         Deodorant 2
2         Shampoo 

BARCODE表

ITEM_ID   BARCODE   PRICE_1
2         616161    $2
0         515151    $4
1         414141    $3

我想用HTML构建一个具有POST字段的表单,以搜索条形码并显示ITEM NAME&PRICE_1

2 个答案:

答案 0 :(得分:0)

您可以根据ITEMS列加入BARCODEid并获得Name

SELECT i.Name FROM ITEMS i JOIN BARCODE b 
ON
i.id=b.id 
WHERE
b.barcode = '56654397547'; 

答案 1 :(得分:0)

您所需的查询是:

SELECT i.ITEM_NAME, b.PRICE_1 FROM BARCODE b 
LEFT JOIN ITEMS i ON i.ITEM_ID = b.ITEM_ID 
WHERE b.BARCODE = '616161';
相关问题