php - 有没有简单的方法来重复 php mysql 查询?

标签 php mysql

我希望 php 有一个小技巧可以节省我 100 次复制>粘贴>更改编号 - 感谢您看一看!

我在 MySQL 数据库中有一个相对较大的数据集。

只有两列:型号(大约 7000 个不同的条目)和制造商(大约 100 个不同的条目,即模型仅来自 100 个不同的制造商)

目前(好吧,因为我写得非常慢,重复的方式),我有一个巨大的 PHP 数据库查询列表:

$result = mysql_query("SELECT * FROM products WHERE manufacturer ='3M'" );
while ($row = mysql_fetch_array($result)) {
echo $row['manufacturer'] . " " . $row['model']; }

我正在做的是工作,但是否有一种方法可以获取所有制造商的列表,然后在列表中运行上面的 php?

或者也许是我没有想到的不同的东西?

谢谢,

(实际输出是在 javascript Accordion 中完成的——所以在单个页面上显示它不是问题)

最佳答案

独特的制造商

SELECT manufacturer
FROM products
GROUP BY manufacturer

但我不确定您希望最终结果如何。您能否详细说明一下,我会提供一个更简洁的答案?

编辑 这应该可以满足您的需求(或者至少是您可以使用的良好基础)。这会将制造商作为 Accordion 的标题,然后在其中列出型号。

$sql = "SELECT * FROM products ORDER BY manufacturer,product";
$lastMfg = null;
if (($result = mysql_query($sql)) !== false)
{
  echo '<div id="accordion">';
  while (($row = mysql_fetch_array($result)) !== false)
  {
    if ($row['manufacturer'] != $lastMfg)
    {
      if (!is_null($lastMfg))
        echo '</div>';
      echo '<h3><a href="#">'.$row['manufacturer'].'</a></h3>';
      echo '<div>';
      $lastMfg = $row['manufacturer'];
    }
    echo '<p>'.$row['model'].'</p>';
  }
  echo '</div></div>';
}
else
{
  echo '<p>MySQL Error: Unable to fetch products</p>';
}

同样,如果你能更清楚一些,可能会得出更好的解决方案。

关于php - 有没有简单的方法来重复 php mysql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4730302/

相关文章:

php - 当php mysql中删除类别及其子类别时,如何更新帖子类别关系?

php - 使用 mysqli_query 进行 json 表单验证

php - 我们如何从 mysql 结果中选择随机行?

mysql - SQL 查询从数据库中的 3 个表检索数据

mysql - 在 SELECT 表中的其他位置使用子查询的别名

php - 在 PDO SELECT COUNT(*) 类型中使用 fetch() 时出现问题

php - 试图创建一个 'trending words/phrases' 引擎但需要过滤掉常用词

php - 在多个表上使用一对多构建 MySQL 查询时遇到问题

php - 您可以用什么方式在 PHP 中使用 CSS 设计 Session Flash 消息的样式?

php - 打开购物车查询随机产品数组