显示数组存储的ID的名称

时间:2014-12-17 17:38:28

标签: php mysql

我在数据库列中存储了多个产品,如(1,3,5)。现在我想获得这些产品的名称并在产品表中显示它们。

我不知道该怎么做。

我正在这样保存

if(is_array($_POST['products'])){
   $products = implode(',', $_POST['products']);
} else {
   $products = $_POST['products'];
}

如何检查这个,请建议。我尝试使用in_array,但它没有工作

1 个答案:

答案 0 :(得分:0)

从数据库中获取您的产品,然后使用PHP的explode()

$products = explode(',', $productsFromDatabase);

请参阅:http://php.net/explode

这将再次为您提供一个数组。使用阵列,根据您存储的内容,您可以使用这些值来查找单个产品。

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可能在代码的其他部分有实际用途。