我想显示司,然后分类下每个部门和子类别下的每个catagory。但是,当我做我做,而我没有得到正确的结果...的PHP和MYSQL:尽管那个dosn't工作
例如我想要什么:
Division Name
Categorie
Sub-categorie
Sub-categorie
Sub-categorie
Categorie 2
Sub-categorie 2
Sub-categorie 2
Sub-categorie 2
Division Name 2
Categorie 3
...
SANITAIRE(这是一个师)
PRODUITS papiers(这是一个categorie)
Distributeurs assortis(这是一个subcategorie)
Distributeurs assortis(这是相同的subcategorie ...)
个Distributeurs assortis(并再次...)
Distributeurs assortis(并再次...)
(......)我收到相同的subcategorie 10线
你有你的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法使用近“AND
__Produits_Sous_Cat
.id_langue = 1 AND__Produits_Sous_Cat
。可见=‘1行’”手动1
这里是我的代码:
$LANG = 1;
mysql_select_db($database_dl, $dl);
$query_divisionlist = "SELECT *
FROM `__Division`
WHERE `__Division`.id_langue = ".$LANG."
AND `__Division`.visible = '1'";
$divisionlist = mysql_query($query_divisionlist, $dl) or die(mysql_error());
$row_divisionlist = mysql_fetch_assoc($divisionlist);
$totalRows_divisionlist = mysql_num_rows($divisionlist);
do { echo '<p>'.$row_divisionlist['titre'].'</p>';
mysql_select_db($database_dl, $dl);
$query_categorielist = "SELECT *
FROM `__Produits_Cat`
WHERE `__Produits_Cat`.id_Division = ".$row_divisionlist['id']."
AND `__Produits_Cat`.id_langue = ".$LANG."
AND `__Produits_Cat`.visible = '1'";
$categorielist = mysql_query($query_categorielist, $dl) or die(mysql_error());
$row_categorielist = mysql_fetch_assoc($categorielist);
$totalRows_categorielist = mysql_num_rows($categorielist);
do { echo '<p>'.$row_categorielist['titre'].'</p>';
mysql_select_db($database_dl, $dl);
$query_scategorie = "SELECT *
FROM `__Produits_Sous_Cat`
WHERE `__Produits_Sous_Cat`.id_Produit_Cat = ".$row_categorielist['id']."
AND `__Produits_Sous_Cat`.id_langue = ".$LANG."
AND `__Produits_Sous_Cat`.visible = '1'";
$scategorie = mysql_query($query_scategorie, $dl) or die(mysql_error());
$row_scategorie = mysql_fetch_assoc($scategorie);
$totalRows_scategorie = mysql_num_rows($scategorie);
do { echo '<p>'.$row_scategorie['titre'].'</p>';
mysql_select_db($database_dl, $dl);
$query_sscategorie = "SELECT *
FROM `__Produits_Sous_sousCat`
WHERE `__Produits_Sous_sousCat`.id_Produit_Sous_Cat = ".$row_scategorie['id']."
AND `__Produits_Sous_sousCat`.id_langue = ".$LANG."
AND `__Produits_Sous_sousCat`.visible = '1'";
$sscategorie = mysql_query($query_sscategorie, $dl) or die(mysql_error());
$row_sscategorie = mysql_fetch_assoc($sscategorie);
$totalRows_sscategorie = mysql_num_rows($sscategorie);
do { echo '<p>'.$row_sscategorie['titre'].'</p>';
} while ($row_divisionlist = mysql_fetch_assoc($divisionlist));
} while ($row_categorielist = mysql_fetch_assoc($categorielist));
} while ($row_scategorie = mysql_fetch_assoc($scategorie));
} while ($row_sscategorie = mysql_fetch_assoc($sscategorie));
非常感谢您的帮助。
杂乱的代码作为一项功课是不好的;)同样的情况下,学习项目。这只是不好;):) – 2010-08-31 09:57:43
非常感谢你,有效地是为了学习我的工作。这是完美的工作,我要读你的代码,并与我的比较,看看有什么问题! – 2010-08-31 12:12:42
您遇到的问题之一是反向循环。如果你的第一个循环是分割循环,那么它必须是最外面的,并且你将它作为最内层。它应该是第一次进入。 环路1开始 回路2开始 循环3开始 ... 循环3结束 回路2结束 循环1点结束 你有这种方式 环路1开始 回路2开始 循环3开始 。 .. 循环1结束 循环2结束 循环3结束 – Alex 2010-08-31 13:21:18