Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:防止项目多次显示_Php_Mysql_List_Repeat - Fatal编程技术网

PHP:防止项目多次显示

PHP:防止项目多次显示,php,mysql,list,repeat,Php,Mysql,List,Repeat,我有一个MySQL数据库,其中有数百个项目由两个不同的值标识:model和color 例: 我正在用php脚本打印一个包含所有不同可用项的表,其中应该跳过相同的项。输出应如下所示: model | color ------|------ 001 | 1 001 | 2 004 | 1 004 | 2 请注意,项目型号:001,颜色:1只应显示一次 完成工作的最佳方式是什么?我正在考虑在添加每个项目后,向数组$listed中添加一个model:color字符串,然后在\u arr

我有一个MySQL数据库,其中有数百个项目由两个不同的值标识:
model
color

例:

我正在用php脚本打印一个包含所有不同可用项的表,其中应该跳过相同的项。输出应如下所示:

model | color
------|------
  001 | 1
  001 | 2
  004 | 1
  004 | 2
请注意,项目
型号:001,颜色:1
只应显示一次

完成工作的最佳方式是什么?我正在考虑在添加每个项目后,向数组
$listed
中添加一个
model:color
字符串,然后在\u array()中检查项目是否已列出。这是一个可接受的方法还是有一个更少的虚拟解决方案

PS:还有其他要从数据库中检索的值要显示在表上,例如“name”、“value”、“size”。我不确定这会有什么不同

如果您要提出建议,请留下一些代码作为示例


非常感谢

如果您不能使用group/distinct,那么您的解决方案是可以接受的。但是,我通常喜欢使用isset而不是使用数组:

$completed = array();
foreach ($rows as $data) {
    $key = $data['model'] . $data['color'];
    if (isset($completed[$key])) {
        continue;
    }
    // Display
    $completed[$key] = true;
}

原因是我通常需要处理大型集合,而使用isset通常比在数组中处理数千项要快。

如果您不能使用group/distinct,那么您的解决方案是可以接受的。但是,我通常喜欢使用isset而不是使用数组:

$completed = array();
foreach ($rows as $data) {
    $key = $data['model'] . $data['color'];
    if (isset($completed[$key])) {
        continue;
    }
    // Display
    $completed[$key] = true;
}

原因是我通常需要处理大型集合,而使用isset通常比在数组中处理数千项要快。

如果您不能使用group/distinct,那么您的解决方案是可以接受的。但是,我通常喜欢使用isset而不是使用数组:

$completed = array();
foreach ($rows as $data) {
    $key = $data['model'] . $data['color'];
    if (isset($completed[$key])) {
        continue;
    }
    // Display
    $completed[$key] = true;
}

原因是我通常需要处理大型集合,而使用isset通常比在数组中处理数千项要快。

如果您不能使用group/distinct,那么您的解决方案是可以接受的。但是,我通常喜欢使用isset而不是使用数组:

$completed = array();
foreach ($rows as $data) {
    $key = $data['model'] . $data['color'];
    if (isset($completed[$key])) {
        continue;
    }
    // Display
    $completed[$key] = true;
}
原因是我通常需要处理大型集合,而使用isset通常比使用数组处理数千个项目要快。

解决方法是:

SELECT * from table_name GROUP BY model, color
解决方法是:

SELECT * from table_name GROUP BY model, color
解决方法是:

SELECT * from table_name GROUP BY model, color
解决方法是:

SELECT * from table_name GROUP BY model, color

也许这有帮助?或者这看起来与我想要的很接近,但是需要从数据库中检索其他值以显示在表中,例如“name”、“value”、“size”。我不确定这会有什么不同。你能从MYSQL方面做到吗?e、 g.从表格中选择不同的型号、颜色;我可以,现在我知道这是可能的,我更喜欢它,但我仍然需要为每个项目选择所有列,其中一个“unique_id”在每个项目上都是不同的。向我们展示各种方式,我们会告诉你哪一种是最好的。这可能有用吗?或者这看起来与我想要的很接近,但是需要从数据库中检索其他值以显示在表中,例如“name”、“value”、“size”。我不确定这会有什么不同。你能从MYSQL方面做到吗?e、 g.从表格中选择不同的型号、颜色;我可以,现在我知道这是可能的,我更喜欢它,但我仍然需要为每个项目选择所有列,其中一个“unique_id”在每个项目上都是不同的。向我们展示各种方式,我们会告诉你哪一种是最好的。这可能有用吗?或者这看起来与我想要的很接近,但是需要从数据库中检索其他值以显示在表中,例如“name”、“value”、“size”。我不确定这会有什么不同。你能从MYSQL方面做到吗?e、 g.从表格中选择不同的型号、颜色;我可以,现在我知道这是可能的,我更喜欢它,但我仍然需要为每个项目选择所有列,其中一个“unique_id”在每个项目上都是不同的。向我们展示各种方式,我们会告诉你哪一种是最好的。这可能有用吗?或者这看起来与我想要的很接近,但是需要从数据库中检索其他值以显示在表中,例如“name”、“value”、“size”。我不确定这会有什么不同。你能从MYSQL方面做到吗?e、 g.从表格中选择不同的型号、颜色;我可以,现在知道这是可能的,我更喜欢它,但我仍然需要为每个项目选择所有列,其中一个“unique_id”在每个项目上都是不同的。向我们展示各种方法,我们将告诉您哪一种是最好的