这是我的数据库结构 Vaporama.be SQL pdf
演示网站 http://vaporama.be
pphp代码
try {
$stmt = $db->prepare("SELECT * FROM category WHERE cat = 'product' ORDER BY name ASC");
$stmt->execute();
$category = $stmt->fetchall(PDO::FETCH_ASSOC);
foreach($category as $cat) {
$naam = $cat['name'];
//subcats query en count
$stmt2 = $db->prepare("SELECT * FROM products WHERE cat = :name GROUP BY (merk) ORDER BY name ASC");
$stmt2->execute(array(':name' => $naam));
$count = $stmt2->rowcount();
//echo cats
echo "
<li class='dropdown'>
<a class='dropdown-toggle' href='#'>
{$naam} ({$count})
</a>
";
$subcat = $stmt2->fetchall(PDO::FETCH_ASSOC);
//echo subcats
echo "<ul class='dropdown-menu'>";
foreach($subcat as $sub) {
$stmt3 = $db->prepare("SELECT * FROM merken WHERE name = :merk ORDER BY name ASC");
$stmt3->execute(array(':merk' => $sub['merk']));
$merk = $stmt3->fetch(PDO::FETCH_ASSOC);
echo "
<li><a href='//{$_SERVER['SERVER_NAME']}/merk?merk={$merk[id]}'>{$sub[merk]}</a></li>
";
}
echo "</ul>";
}
}
catch(Exception $e) {
echo '<h2><font color=red>';
var_dump($e->getMessage());
die ('</h2></font> ');
}
基本上它应该显示它并抓住id 现在,它正是它没有做到的
但如果我添加新产品,那么它确实有效 更有趣的是,我的代码对GROUP说,所以所有的名字都应该是unic 在我的下拉列表中,我现在看到2次JOYETECH,其中第一个不包含id,第二个包含我的id(33)
那么为什么它没有对结果进行分组并且没有像它需要那样找回它? 这是WORKING项目的数据库(标识33),上面是非工作项目
id |名字|默克
64 |测试| JOYETECH
我没有看到任何区别? 来自PowerChaos的问候