Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于category-pull从mysql列出子类别_Php_Mysql - Fatal编程技术网

Php 基于category-pull从mysql列出子类别

Php 基于category-pull从mysql列出子类别,php,mysql,Php,Mysql,我已将产品按类别和子类别分开。 通过查询和while循环,我能够正确地回显列表中的所有类别 $query = mysql_query("SELECT * FROM category WHERE `enabled`='1'"); while ($query_row = mysql_fetch_assoc($query)) { echo '$query_row[catname]'; } 我试图实现的是将子类别名称列在各自的类别名称下: $query = mysql_query("SELECT *

我已将产品按类别和子类别分开。 通过查询和while循环,我能够正确地回显列表中的所有类别

$query = mysql_query("SELECT * FROM category WHERE `enabled`='1'");

while ($query_row = mysql_fetch_assoc($query)) {
echo '$query_row[catname]';
}
我试图实现的是将子类别名称列在各自的类别名称下:

$query = mysql_query("SELECT * FROM category WHERE `enabled`='1'");

while ($query_row = mysql_fetch_assoc($query)) {
echo '<h1>'.$query_row["catname"].'</h1>';

     $sql = mysql_query("SELECT * FROM subcategory WHERE `catid`='$query_row[catid]'");

     while ($row = mysql_fetch_assoc($sql)) {
     echo '$row["subcatname"]';
     }
}
就像现在一样。我越来越

CARS
mazda
chevy
toyota
yamaha
harley
suzuki
honda
duracel
energizer

BIKES
mazda
chevy
toyota
yamaha
harley
suzuki
honda
duracel
energizer

BATTERIES
mazda
chevy
toyota
yamaha
harley
suzuki
honda
duracel
energizer
试着改变

$sql=mysql\u query(“从catid='$query\u row[catid]'的子类别中选择*”

$sql=mysql\u query(“从catid='“$query\u行[“catid”]”中的子类别中选择*”

$query=mysql\u query(“从类别中选择*,其中'enabled`='1'”);
而($query\u row=mysql\u fetch\u assoc($query)){
回显'.$query_行[“catname”].';
$sql1=mysql\u query(“从子类别中选择catid,其中`catname`='$query\u行[catname]'”;
而($row1=mysql\u fetch\u assoc($sql1)){
$sql=mysql\u查询(“从子类别中选择*,其中'catid`='row1[catid]'”;
while($row=mysql\u fetch\u assoc($sql)){
回显“$row[“subcatname”]”;
}
}
} 

试试这个。

你说的“我只需要与自己的类别相匹配的子类别”是什么意思?你想要什么样的子类别?相同的结果。无更改如果子类别中的catid与类别中的catid匹配,此代码只能在数据库中所有类别的所有子类别都存在时生成显示的列表。您可以在此处转储这些表的结构和数据导出。子类别中的catid仅在子类别条目位于同一类别时与类别中的catid匹配。i、 e.马自达、雪佛兰、丰田的catid=1,而杜拉塞尔和劲力车的catid=3等。使用
$sql=mysql\u查询(“从catid='3'的子类别中选择*”)时会发生什么情况?如果结果正确,那么
$query\u row[“catid”]
就有问题。否则数据库中的数据一定有问题。catname与catid不同,因此$sql将返回false。
CARS
mazda
chevy
toyota
yamaha
harley
suzuki
honda
duracel
energizer

BIKES
mazda
chevy
toyota
yamaha
harley
suzuki
honda
duracel
energizer

BATTERIES
mazda
chevy
toyota
yamaha
harley
suzuki
honda
duracel
energizer
$query = mysql_query("SELECT * FROM category WHERE `enabled`='1'");

while ($query_row = mysql_fetch_assoc($query)) {
echo '<h1>'.$query_row["catname"].'</h1>';

     $sql1 = mysql_query("SELECT catid FROM subcategory WHERE `catname`='$query_row[catname]'");
     while($row1 = mysql_fetch_assoc($sql1)){

     $sql = mysql_query("SELECT * FROM subcategory WHERE `catid`='row1[catid]'");

     while ($row = mysql_fetch_assoc($sql)) {
     echo '$row["subcatname"]';
     }
     }
     }