我在数据库列中存储了多个产品,如(1,3,5)。现在我想获得这些产品的名称并在产品表中显示它们。
我不知道该怎么做。
我正在这样保存
if(is_array($_POST['products'])){
$products = implode(',', $_POST['products']);
} else {
$products = $_POST['products'];
}
如何检查这个,请建议。我尝试使用in_array
,但它没有工作
答案 0 :(得分:0)
从数据库中获取您的产品,然后使用PHP的explode()
:
$products = explode(',', $productsFromDatabase);
这将再次为您提供一个数组。使用阵列,根据您存储的内容,您可以使用这些值来查找单个产品。
foreach ($products as $values) {
// SELECT SQL statement here using a WHERE clause depending on what value you stored.
// Ex: SELECT * FROM `products` WHERE id='$value'
// Ex: SELECT * FROM `products` WHERE name='$value'
}
假设您从ID获取产品名称,您可以利用foreach循环填充一个数组,然后您可以内爆产品名称列表:
$names = array();
foreach ($products as $values) {
// SELECT SQL statement here using a WHERE clause depending on what value you stored.
// Ex: SELECT * FROM `products` WHERE id='$value'
// Ex: SELECT * FROM `products` WHERE name='$value'
// Assume you have attained a $row using a select statement
$names[] = $row['name'];
}
$names = implode(',', $names);
echo $names;
如果您只是存储产品名称而不是ID,这可以大大简化,但我知道ID可能在代码的其他部分有实际用途。