我希望 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/