Cómo ordenar en php un listado dentro de otro listado

Hola. Tengo el siguiente php que incluye categorías principales, subcategorías y sub-subcategorias, ahora mismo el listado se encuentra ordenado alfabéticamente por las categorías principales, pero me gustaría que las subcategorías y sub-subcategorias también aparecieran ordenadas alfabéticamente, ya que ahora mismo no lo están. Que es lo que debo añadir? Este es mi código:


Gracias de antemano


<?php
$conn = mysql_connect('localhost','axisitp_pcs','axisitppcs12#') or die('Cannot connect to host');
//$conn = mysql_connect('localhost','root','') or die('Cannot connect to host');
mysql_select_db('axisitp_pcs');
if(isset($_REQUEST['id'])){
$id = $_REQUEST['id']; //echo $id;
$sql = "select id,cat,parentid from categories where id =".$id; //echo $sql;
$query = mysql_query($sql);
while($rs = mysql_fetch_array($query)){
?>
<form action="changecat.php" method="post">
<label>Category name:</label>
<input type="hidden" name="id" value="<?=$rs['id'];?>">
<input type="hidden" name="parent_id" value="<?=$rs['parentid'];?>">
<input type="text" value="<?=$rs['cat'];?>" name="name">
<input type="submit" value="Update" name="submit">
</form>
<?php }
}else{
$sql = "select id,cat from categories where parentid=0 order by cat";
$query = mysql_query($sql);
$data = array();
if(mysql_num_rows($query)>0){
$i = 0;
while($row = mysql_fetch_array($query)){
$data[$i]['id']=$row['id'];
$data[$i]['categoryname'] = $row['cat'];
$sql = "select * from categories where parentid=".$row['id'];
$query1 = mysql_query($sql);
if(mysql_num_rows($query1)>0){
$j=0;
while($rs = mysql_fetch_array($query1)){
$data[$i]['sub'][$j]['id'] = $rs['id'];
$data[$i]['sub'][$j]['cat'] = $rs['cat'];
$sql = "select * from categories where parentid=".$rs['id'];
$query3 = mysql_query($sql);
if(mysql_num_rows($query3)>0){
$k=0;
while($rs1 = mysql_fetch_array($query3)){
$data[$i]['sub'][$j]['subcate'][$k]['id'] = $rs1['id'];
$data[$i]['sub'][$j]['subcate'][$k]['cat'] = $rs1['cat'];
$k++;
}
}
$j++;
}
}
$i++;
}
}
?>
<ul>
<?php foreach($data as $rs)>
<li ><a style="color: red;" href="?id=<?=$rs['id']?>"><h2 ><?=$rs['categoryname'];?></h2></a></li>
<?php if(isset($rs['sub']))>
<ul>
<?php foreach ($rs['sub'] as $rs1)>
<li ><a style="color: blue;" href="?id=<?=$rs1['id']?>"><h3 ><?=$rs1['cat'];?></h3></a></li>
<?php if(isset($rs1['subcate']))>
<ul>
<?php foreach ($rs1['subcate'] as $rs2)>
<li><a style="color: #000000;" href="?id=<?=$rs2['id']?>"><h4><?=$rs2['cat'];?></h4></a></li>
<?php endforeach;?>
</ul>
<?php endif;?>
<?php endforeach;?>
</ul>
<?php endif;?>
<?php endforeach;?>
</ul>
<?php }?>

Añade tu respuesta

Haz clic para o