Hola! Pueden ver mi directorio haciendo clic
acá, como verán las categorías están desorganizadas (se organizan segun las añado, la última que añado queda última), lo que yo quiero es que se organizen alfabéticamente, quizás me puedan ayudar, acá les paso el código de index.php:
Código PHP:
<?
include ("config.php");
include ("include.php");
include ("lang.php");
session_start();
if ($c == 0) { $c = 1; };
$sql = mysql_query("SELECT name, title, description, pages, ref FROM {$prefix}categories WHERE id = $c");
$current_category = mysql_fetch_array($sql, MYSQL_ASSOC);
if (($c > 1) & !$current_category["name"]){
header("Location: {$dir}index.php");
};
if (!$current_category["name"]) { $current_category["name"] = "Directory Search"; };
if (!$current_category["title"]) { $current_category["title"] = $current_category["name"]; };
if (!$current_category["description"]) { $current_category["description"] = $current_category["name"]." ".$current_category["title"]; };
$last_category = false;
$ref = $c;
while(!$last_category){
$n_parent_categories += 1;
$sql = mysql_query("SELECT id, name, ref FROM {$prefix}categories WHERE id = $ref");
$parent_categories[$n_parent_categories-1] = mysql_fetch_array($sql, MYSQL_ASSOC);
if ($parent_categories[$n_parent_categories-1]["ref"] == 0){
$last_category = true;
}else{
$ref = $parent_categories[$n_parent_categories-1]["ref"];
};
};
$sql = mysql_query("SELECT {$prefix}categories.id, {$prefix}categories.name, COUNT({$prefix}pages.id) AS pages FROM {$prefix}categories LEFT JOIN {$prefix}pages ON {$prefix}pages.category = {$prefix}categories.id WHERE ref = $c GROUP BY {$prefix}categories.id");
$n_subcategories = mysql_num_rows($sql);
for ($x = 0; $x < $n_subcategories; $x++){
$subcategories[$x] = mysql_fetch_array($sql, MYSQL_ASSOC);
};
if ($current_category["pages"] == "y"){
if ($s == 0) { $s = 1; };
$n = 10;
$sql = mysql_query("SELECT COUNT(*) AS total_pages FROM {$prefix}pages WHERE category = $c AND accepted = 'y'");
$total_pages = mysql_result($sql,0,"total_pages");
if ($total_pages > 0){
$sql = mysql_query("SELECT id, url, title, description FROM {$prefix}pages WHERE category = $c AND accepted = 'y' ORDER BY id LIMIT ".($s-1).",$n");
$n_pages = mysql_num_rows($sql);
for ($x = 0; $x < $n_pages; $x++){
$pages[$x] = mysql_fetch_array($sql, MYSQL_ASSOC);
};
};
};
$e = min($s + $n - 1, $s + $n_pages - 1);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE><? echo $current_category["name"]; if ($current_category["title"] != $current_category["name"]){ echo " - ".$current_category["title"]; };?></TITLE>
<META NAME="description" CONTENT="<? echo $current_category["description"]?>">
<META NAME="keywords" CONTENT="<? echo $current_category["name"]." ".$current_category["description"]?>">
<SCRIPT TYPE="text/javascript" SRC="style.js"></SCRIPT>
</HEAD>
<BODY>
<?
include ("starting_html.php");
?>
<DIV CLASS="main">
<DIV CLASS="logo"><A HREF="<? echo $dir?>index.php"></A></DIV>
<DIV CLASS="heading">
<H1><? echo $current_category["name"]?></H1>
<?
if ($c != 1){
echo '<DIV CLASS="heading_path">'."\r\n";
for ($x = $n_parent_categories-1; $x >= 1; $x--){
if ($x != $n_parent_categories-1) { echo " > "; };
if ($parent_categories[$x]["id"] == 1){
echo '<A HREF="'.$dir.'index.php">'.$parent_categories[$x]["name"].'</A>';
}else{
echo '<A HREF="'.$dir.'index.php?c='.$parent_categories[$x]["id"].'">'.$parent_categories[$x]["name"].'</A>';
};
};
echo ' > '.$current_category["name"];
echo "</DIV>\r\n";
};
?>
</DIV>
<?
if ($n_subcategories > 0){
echo '<DIV CLASS="categories">'."\r\n";
echo '<DIV CLASS="categories_text">'.$t01.' "'.$current_category["name"].'":</DIV>'."\r\n";
$t = ceil($n_subcategories/2);
echo '<DIV CLASS="categories_blocks">'."\r\n";
echo '<DIV CLASS="categories_blocks_left">'."\r\n";
for ($x = 0; $x < $t; $x++){
echo '<DIV CLASS="categories_category"><DIV CLASS="categories_category_title">» <A HREF="'.$dir.'index.php?c='.$subcategories[$x]["id"].'">'.$subcategories[$x]["name"].'</A> </DIV>('.$subcategories[$x]["pages"].')</DIV>'."\r\n";
};
echo "</DIV>\r\n";
echo '<DIV CLASS="categories_blocks_right">'."\r\n";
if ($n_subcategories > 1){
for ($x = $t; $x < $n_subcategories; $x++){
echo '<DIV CLASS="categories_category"><DIV CLASS="categories_category_title">» <A HREF="'.$dir.'index.php?c='.$subcategories[$x]["id"].'">'.$subcategories[$x]["name"].'</A> </DIV>('.$subcategories[$x]["pages"].')</DIV>'."\r\n";
};
}else{
echo " \r\n";
};
echo "</DIV>\r\n";
echo "</DIV>\r\n";
echo "</DIV>\r\n";
};
?>
<DIV CLASS="search">
<FORM METHOD="get" ACTION="search.php">
<DIV CLASS="search_controls">
<INPUT TYPE="text" NAME="q" MAXLENGTH=100 CLASS="search_controls_text">
<INPUT TYPE="submit" VALUE="<? echo $t02?>" CLASS="search_controls_button">
</DIV>
<?
if ($current_category["pages"] == "y" || $_SESSION['admin']){
echo '<DIV CLASS="search_add">'."\r\n";
if($current_category["pages"] == "y"){
echo '<A HREF="'.$dir.'add_url.php?c='.$c.'">'.$t03.'</A>'."\r\n";
};
if($_SESSION['admin']){
echo '<A HREF="'.$dir.'admin_edit.php?c='.$c.'">'.$t04.'</A>'."\r\n";
};
echo "</DIV>\r\n";
};
?>
</FORM>
</DIV>
<?
if ($current_category["pages"] == "y"){
if ($n_pages > 0){
echo '<DIV CLASS="pages">'."\r\n";
echo '<DIV CLASS="pages_results">'.$t05a.' '.$s.' - '.$e.' '.$t05b.' '.$total_pages.' '.$t05c.' "'.$current_category["name"].'":</DIV>'."\r\n";
for ($x = 0; $x < $n_pages; $x++){
echo '<DIV CLASS="pages_page">'."\r\n";
echo '<DIV CLASS="pages_page_title"><A HREF="'.$pages[$x]["url"].'">'.$pages[$x]["title"].'</A></DIV>'."\r\n";
echo '<DIV CLASS="pages_page_description">'.$pages[$x]["description"].'</DIV>'."\r\n";
echo '<DIV CLASS="pages_page_url">'.$pages[$x]["url"].'</DIV>'."\r\n";
echo "</DIV>\r\n";
};
echo "</DIV>\r\n";
}else{
echo '<DIV CLASS="pages">'."\r\n";
echo '<DIV CLASS="pages_results">'.$t06.' "'.$current_category["name"].'"</DIV>'."\r\n";
echo "</DIV>\r\n";
};
if ($s != 1 || $e != $total_pages){
function query($s){
global $c;
if ($c != 1) { $query = "?c=$c"; };
if (($c != 1) & $s != 1){
$query .= "&s=$s";
}elseif ($s != 1){
$query = "?s=$s";
};
return $query;
};
echo '<DIV CLASS="options">'."\r\n";
if ($s != 1){
$previous = $s - $n;
echo '<A HREF="'.$dir.'index.php'.query($previous).'">'.$t07.'</A>'."\r\n";
};
for ($x = 1; $x <= ceil($total_pages/$n); $x++){
$current = ($x-1) * $n + 1;
if ($current == $s){
echo $x."\r\n";
}else{
echo '<A HREF="'.$dir.'index.php'.query($current).'">'.$x.'</A>'."\r\n";
};
};
if ($e + $s -1 < $total_pages){
$next = $s + $n;
echo '<A HREF="'.$dir.'index.php'.query($next).'">'.$t08.'</A>'."\r\n";
};
echo "</DIV>\r\n";
};
};
include ("links.php");
?>
</DIV>
<?
include ("ending_html.php");
?>
</BODY>
</HTML>
Si quieren más info del script o desean descargarlo:
http://www.directory-search.org/directory_script.php
Desde ya, muchas gracias y espero que me puedan ayudar