【发布时间】:2016-02-15 18:39:01
【问题描述】:
我有一个带有多个复选框的表单,客户可以在其中选择一个或多个项目
我将值传递给一个页面 php,其中使用语句 select,我从 db 中获取所选项目的价格和图像。
ID | Name | Price | Images | item
1 | bob | 10 | link | a
2 | bob | 5 | link | b
3 | bob | 5 | link | c
4 | bob | 5 | link | d
我想显示连续选择的项目的结果,例如:
bob a b
当客户再选择一项时,我不允许下面的代码看到此结果。
// $_POST['choices'] array
$result = count($_POST['choices']);
require("config.casa.php"); //file connection db
try {
$dbh = new PDO("mysql:host=$DB_Server;dbname=$DB_DBName",$DB_Username,$DB_Password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
echo 'Connected to Database<br/>';
for($i=0; $i<$result; $i++){
$po="SELECT name, item, price, images FROM my-tb WHERE item ='".$_POST['choices'][$i]."'";
$rpo=$dbh->prepare($po);
$rpo->execute();
$pol = $rpo->fetch(PDO::FETCH_ASSOC);
echo "<ul class=\"tab\"><li class=\"col1\">"."name"."</li>";
echo "<li class=\"col2\"><p class=\"two\"><h3>€ ".$pol['price']."</h3></p>";
echo "<p class=\"lin\"><strong><span class=\"up\">".$pol['images']."</strong></p>";
<li class=\"col3\">".$row["item"]."</li></ul>
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
我也尝试执行语句 fecth out of cycle for 但我从变量 $_POST['choices'] 得到最后一项而不是全部。
【问题讨论】: