我正在循環瀏覽產品清單並設置variable
值來標識與客戶所需屬性相交的產品屬性。在客戶會話期間(或者至少在他們保留在該頁面上),爲每個產品設置variable
值的方法是什麼?目前variable
的價值似乎並沒有保留每個產品的ID超出分配它的初始while
聲明的範圍。如何在用戶會話期間爲產品設置var值?
每個變量都表示某個特定屬性是否與所需屬性的客戶列表匹配。我試圖將標籤(臨時)分配給每個產品,以指示哪個屬性匹配/不匹配該客戶,而不是無數次地運行查詢。
我正在爲100-200個變量動態調整(使用variable variables
),所以我在下面發佈了一個簡化的代碼片段。
$Matches_Pr_Color = "Null";
$colors_love_AR = array('Black','Charcoal','Light_Gray','White','Royal_Blue','Dodger_Blue','Red');
try {
$stmt = $conn->prepare("SELECT * FROM products");
$stmt->execute();
} catch(PDOException $e) {echo $e->getMessage();}
if ($stmt->columnCount()) {
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$Pr_Color=$row['Color'];
if (in_array($Pr_Color, $colors_love_AR)){
$Matches_Pr_Color = "True";
}
else {
$Matches_Pr_Color = "False";
}
echo $Matches_Pr_Color, "<br/>";
}
}
if ($Matches_Pr_Color == "True") {
echo $row['product_id'].', '.$row['Color'], "<br/>";
}
else {
echo $row['product_id'], " No Match<br/>";
}
請澄清你的問題,不清楚你的問題是什麼 – Steve 2014-09-29 17:46:12
@Steve - 對於每個產品的id,超出了分配它的初始WHILE語句的範圍,var值不會被設置:-( – 2014-09-29 17:56:33
'if($ Matches_Color =「真」)'我感覺這是一個錯字。答案已刪除。 – 2014-09-29 18:16:55