我有多個複選框形式,其中客戶選擇一個或多個項目顯示它們SQL SELECT元素匹配陣列和一排
我傳遞值到一個頁面的PHP在那裏與語句的選擇,我取的價格,從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出週期的,但我得到的最後一個項目,而不是從可變$_POST['choices']
的所有的人。
我在面板的phpmyadmin與「條款」測試查詢並顯示正確的結果和警報「此表格不包含唯一列」。 另外,當我嘗試執行頁面php時,echo語句只顯示一個項目而不是所有項目。 在我的問題早期我的gol是顯示從客戶選擇的所有項目。 也許我錯了代碼php或表的結構。 表的真實名稱是沒有連字符,謝謝你的注意 – user3332537