如何在php中创建混合在一起的类别和主题类型的列表?
这意味着,该列表应如下所示:
Sports (this is a category)
Soccer (this is a type)
Golf (this is a type)
Basketball (this is a type)
Science (this is a category)
Biology (this is a type)
Chemistry (this is a type)
Anatomy (this is a type)困难的部分是运动和科学来自同一个表(称为类别),而足球、高尔夫、篮球、生物、化学和解剖学都来自不同的表(称为类型)。在MySQL表"types“中,有一个外键指向categories表中条目的id。MySQL中的当前设置不容易更改,因为网站的导航依赖于它。
如何使用php将类型放在类别之间?
目前我拥有的代码是这样的:
<?php session_start ();
include 'connect.php';
$result = mysql_query("SELECT * FROM categories JOIN types ON categories.catid = types.typecat");
while($row = mysql_fetch_array($result))
{
echo $row["catname"];
}
?>然而,这输出了“"SportsSportsSportsSportsSportsScienceScienceScience,”,这显然是不应该的。体育有5种类型,科学有3种类型。所以我不确定那里发生了什么,我不能继续下一步在php中添加以包含类型。
发布于 2012-07-30 17:07:47
我认为你需要两个列表,包括主类别和子类别,如果是这样的话,你可以这样做
你也可以使用ajax来代替提交表单。
发布于 2012-07-30 09:52:26
我相信您的types表中有一个id_cat。那么你应该使用SQL JOINs。
发布于 2012-07-30 09:56:13
我没有为您提供代码,但查询可能是:
选择类别,从类别c中选择类型,c.id上的类型t= t.id按类别分组;
或者:
从类别中选择不同的类别;
然后分别查询每个类别。
我怀疑单一查询会更有效率。
https://stackoverflow.com/questions/11714491
复制相似问题