[英]Create a list in php from two tables in mysql
如何在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表“类型”中,有一个外键指向类别表中条目的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以包括类型。
我相信您的类型表中有一个id_cat。 然后,您应该使用SQL JOINs 。
我没有适合您的代码,但是查询将是:
选择类别,从类别c中键入,在c.id = t.id上键入t按类别分组;
要么:
从类别中选择不同的类别;
然后分别查询每个类别。
我怀疑单个查询会更有效。
我认为您需要两个包含主类别和子类别的列表,如果可以的话,您可以执行以下操作
您也可以使用ajax而不是提交表单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.