我有两个表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
答案 0 :(得分:0)
您可以根据ITEMS
列加入BARCODE
和id
并获得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';