php 用于搜索逗号分解输入的 pdo 代码
php pdo code to search comma exploded input
我有两个文本框。
收据编号,优惠券编号
用户在收据文本框中以逗号分解格式输入值。
然后点击搜索,然后根据在优惠券文本框中输入的收据获取所有价值。
我的数据在table喜欢
领取优惠券
501 - 1
501 - 2
501 - 3
502 - 4
502 - 5
502 - 6
前-
现在,如果用户在收据文本框中输入 501,502 并单击搜索,则会在优惠券文本框中显示 501,502 的所有优惠券
点击搜索后我需要在优惠券文本框中输出如下所示
优惠券文本框 = 1,2,3,4,5,6
请建议如何从收据文本框中获取逗号分解输入并进行搜索查询
下面是我的代码
<?php
$coupons = "";
$db=new PDO('mysql:host=localhost;dbname=circulation_scheme_prepaid','root','');
if($_POST && isset($_POST['submit']))
{
$result=$db->prepare('SELECT coupon FROM scheme_master WHERE receipt_no=:receipt_no');
$result->bindParam(':receipt_no',$_POST['receipt_no']);
$result->execute();
$data = $result->fetchAll();
$coupons = array();
foreach($data as $row)
{
$coupons[] = $row['coupon'];
}
}
?>
优惠券文本框
<input type="text" name="coupon" readonly="true" value="<?php echo implode(',', $coupons); ?>" class="field size2" />
如果对数组进行 explode() $_POST['receipt_no']
,则可以将其与 IN 运算符一起使用。请参阅 PDO info 了解如何将 IN 与 PDO 一起使用。
下面的代码使用了这个。
if($_POST && isset($_POST['submit']))
{
$arr = explode(',', $_POST['receipt_no']);
$in = str_repeat('?,', count($arr) - 1) . '?';
$sql = "SELECT coupon FROM scheme_master WHERE receipt_no IN ($in)";
$result=$db->prepare($sql);
$result->execute($arr);
$data = $result->fetchAll();
$coupons = array();
foreach($data as $row)
{
$coupons[] = $row['coupon'];
}
}
我有两个文本框。
收据编号,优惠券编号
用户在收据文本框中以逗号分解格式输入值。
然后点击搜索,然后根据在优惠券文本框中输入的收据获取所有价值。
我的数据在table喜欢
领取优惠券
501 - 1
501 - 2
501 - 3
502 - 4
502 - 5
502 - 6
前-
现在,如果用户在收据文本框中输入 501,502 并单击搜索,则会在优惠券文本框中显示 501,502 的所有优惠券
点击搜索后我需要在优惠券文本框中输出如下所示
优惠券文本框 = 1,2,3,4,5,6
请建议如何从收据文本框中获取逗号分解输入并进行搜索查询
下面是我的代码
<?php
$coupons = "";
$db=new PDO('mysql:host=localhost;dbname=circulation_scheme_prepaid','root','');
if($_POST && isset($_POST['submit']))
{
$result=$db->prepare('SELECT coupon FROM scheme_master WHERE receipt_no=:receipt_no');
$result->bindParam(':receipt_no',$_POST['receipt_no']);
$result->execute();
$data = $result->fetchAll();
$coupons = array();
foreach($data as $row)
{
$coupons[] = $row['coupon'];
}
}
?>
优惠券文本框
<input type="text" name="coupon" readonly="true" value="<?php echo implode(',', $coupons); ?>" class="field size2" />
如果对数组进行 explode() $_POST['receipt_no']
,则可以将其与 IN 运算符一起使用。请参阅 PDO info 了解如何将 IN 与 PDO 一起使用。
下面的代码使用了这个。
if($_POST && isset($_POST['submit']))
{
$arr = explode(',', $_POST['receipt_no']);
$in = str_repeat('?,', count($arr) - 1) . '?';
$sql = "SELECT coupon FROM scheme_master WHERE receipt_no IN ($in)";
$result=$db->prepare($sql);
$result->execute($arr);
$data = $result->fetchAll();
$coupons = array();
foreach($data as $row)
{
$coupons[] = $row['coupon'];
}
}