将所有适当的类别打印到选择输入中时遇到一点问题。现在,它应该添加所有有孩子的类别。问题是,这并不完全正确。它只显示主要类别中的第一个和属于它的子类别,但不显示下一个主要类别项目。
例如:
主类别:军鼓 子类别:多摩 子类别 子类别:Starphonic
主类别:钹 子类别:Paiste
它仅显示第一个主要类别(例如 Snares)以及与其相关的所有内容。
我还希望它显示那些没有子类别的类别和那些有的类别。
$result = mysql_query("SELECT COUNT(nimi) AS kpl FROM samppa_kategoriat");
$row = mysql_fetch_array($result);
$kpl = $row['kpl'];
mysql_free_result($result);
$sql = "SELECT
samppa_kategoriat.nimi AS KatNimi,
samppa_kategoriat.layer AS layerA,
samppa_kategoriat.children AS lapsetA,
samppa_alikategoriat.nimi AS AliNimi,
samppa_alikategoriat.layer AS layerB,
samppa_alikategoriat.parent AS parentA,
samppa_alikategoriat.children AS lapsetB,
samppa_alikategoriatB.nimi AS AliNimiB,
samppa_alikategoriatB.parent AS parentB,
samppa_alikategoriatB.layer AS layerC
FROM
samppa_kategoriat,
samppa_alikategoriat,
samppa_alikategoriatB
WHERE
(samppa_kategoriat.nimi = samppa_alikategoriat.parent
AND samppa_alikategoriat.nimi = samppa_alikategoriatB.parent)";
$res = mysql_query($sql);
$i = 0;
while($n = mysql_fetch_object($res)){
$countA[$i] = mysql_real_escape_string(strip_tags($n->lapsetA));
$countB[$i] = mysql_real_escape_string(strip_tags($n->lapsetB));
$nimiA[$i] = mysql_real_escape_string(strip_tags($n->KatNimi));
$nimiB[$i] = mysql_real_escape_string(strip_tags($n->AliNimi));
$nimiC[$i] = mysql_real_escape_string(strip_tags($n->AliNimiB));
$parentA[$i] = mysql_real_escape_string(strip_tags($n->parentA));
$parentB[$i] = mysql_real_escape_string(strip_tags($n->parentB));
$layerA[$i] = mysql_real_escape_string(strip_tags($n->layerA));
$layerB[$i] = mysql_real_escape_string(strip_tags($n->layerB));
$layerC[$i] = mysql_real_escape_string(strip_tags($n->layerC));
$i++;
}
for($i=1;$i<$kpl;$i++){
echo "<option>$nimiA[$i] = $countA[$i] </option>";
for($i=0;$i<$countA[$i];$i++){
echo "<option>- $nimiB[$i] = $countB[$i]</option>";
}
for($i=0;$i<$countB[$i];$i++){
echo "<option>-- $nimiC[$i]</option>";
}
}
mysql_free_result($res);
mysql_close($conn);
?>