【发布时间】:2021-12-31 09:02:47
【问题描述】:
嗨,我想检查我的fetch_array 是否包含我想要的一些字符串
这是源代码
$stmt = $conn->prepare ("SELECT g.No_meja
FROM orders o JOIN guest_order gord ON o.Kode_Guest_Order = gord.Kode_guest_order JOIN guest g ON gord.Kode_Meja = g.Kode_meja
JOIN product_order po ON o.Kode_Produk_Order = po.Kode_produk_order
JOIN product p ON po.Kode_Produk = p.Kode_produk
JOIN topping_order tord ON po.Kode_produk_order = tord.Kode_Produk_Order
JOIN topping t ON tord.Kode_Topping = t.Kode_topping
WHERE o.Status_order = 'Disiapkan' GROUP BY o.Kode_order;");
$stmt->execute();
$resultTableColor = $stmt -> get_result();
while ($rowTable = $resultTableColor -> fetch_array(MYSQLI_ASSOC)){
if(strpos($rowTable['No_meja'],"1")){
$table1Status = "green";
}
else {
$table1Status = "white";
}
if (strpos($rowTable['No_meja'],"2")){
$table2Status = "green";
}
else {
$table2Status = "white";
}
if (strpos($rowTable['No_meja'],"9")){
$table9Status = "green";
}
else {
$table9Status = "white";
}
}
echo "Table 1 ".$table1Status. "<br>";
echo "Table 2 ".$table2Status."<br>";
echo "Table 9 ".$table9Status."<br>";
更新:
strpos 正在工作,但它总是变为 false
查询的输出是这样的:
【问题讨论】:
-
在
strpos()中,干草堆在针头之前。换句话说,您需要交换参数。 -
是的,重复是因为您将回声放在循环中,而不是在它之后;但是,您为什么要在 PHP 中这样做?在查询中加入
WHERE子句可能更容易。 -
@KIKOSoftware 哦,天哪,没有意识到这个论点是落后的
-
@Raxi 因为我想将它与许多 if else 条件一起使用,如果我有 13 个表的每个表都进行选择,它会很拥挤
-
我。我当然不知道你的数据库布局。但通常带有
WHERE子句和IN运算符之类的SQL 最适合这些事情。