Foros del Web » Programando para Internet » PHP »

Pequeñisimo problema

Estas en el tema de Pequeñisimo problema en el foro de PHP en Foros del Web. Hola amigos! Tengo un problema menor... Resulta que tengo diferentes categorias enumeradas del 1 al 10 de la siguiente forma: Categoria 1,Categoria 2,Categoria ..., Categoria ...
  #1 (permalink)  
Antiguo 08/11/2004, 06:47
Avatar de newfaq  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 243
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Pequeñisimo problema

Hola amigos!

Tengo un problema menor...

Resulta que tengo diferentes categorias enumeradas del 1 al 10 de la siguiente forma:

Categoria 1,Categoria 2,Categoria ..., Categoria 10

Lo que pasa es que cuando tengo mas de 10 me las muestra asi:

Categoria 1
Categoria 10
Categoria 11
Categoria 12
Categoria 2
Categoria 3
..........

y asi etc.

Como hago para ordenar del 1 al 12 normalmente?

Gracias

FACUNDO
  #2 (permalink)  
Antiguo 08/11/2004, 06:51
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 16 años, 7 meses
Puntos: 2
cual es el codigo que ocupas para ordenar?
  #3 (permalink)  
Antiguo 08/11/2004, 07:03
Avatar de newfaq  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 243
Antigüedad: 13 años, 2 meses
Puntos: 0
Ok. Este es el codigo donde muestro las categorias y los consecuentes links a mostrar.


Código PHP:
else{
  
  
// if there are links, let's display them!
  // first step is to set up the header for each category
  
$query "SELECT DISTINCT category FROM links ORDER BY category";
  
$result mysql_query($query); 
  
printf("<div align='center'><table width='600' border='0' cellspacing='10' cellpadding='0'");
  echo 
"<tr><td><div align='center'>";
   
// then, lets get a new query and results set so we can display the links from each category
   
if (isset($c)){
   
$i=0;
   while ( 
$row mysql_fetch_array($result))
   {
   
$category $row["category"];
   
$category_links="$category"."_links";
   
$category_head="$category"."_head";
   
/*   echo "<table width='400' border=1' align='center'>
  <tr>
    <td><div align='center'><a href=\"?c=$category\">$category</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></td>
  </tr>
</table>";*/
   
echo "<a href=\"?c=".$category."\">".$category."</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
   if(!(
$i++%4)) 
     echo 
"</div></td></tr><tr><td><div align='center'>";
      }
   echo 
"</div></td></tr></table></div>";
   
//echo "<br>";
   
echo "<b><font color='ffffff'>Category: ".$c."</b>";
   
$query2 "SELECT * FROM links WHERE category='$c' ORDER BY name";
   
$result2 mysql_query($query2); 
  
   while ( 
$row mysql_fetch_array($result2))
    {
    
$rec_id $row["rec_id"];
    
$name $row["name"];
    
$url $row["url"];
    
$description $row["description"];
    
$count $row["count"];
    
   
    
    
$id=$rec_id;
    
    
// put the HTTP prefix before each link in case the user forgets to enter it
    // first, take it away if it already exists
    
$url ereg_replace("http://","",$url);
    
$reciprocal ereg_replace("http://","",$reciprocal);
    
// then add it to all
    
$url "http://".$url;
    
$reciprocal "http://".$reciprocal;
    
$category_results="$category"."_results";
    
    
// now print the links in this category
    
echo "<p>";
    print(
"
    <tr>
     <td>
     <div style=\"padding-left:0px; margin-bottom: 10px;\">
     <div>
     
     <strong><a href='$url'>$name</a></strong><br>$description <br><b>Url: </b><font color= 'cccccc'>$url</font><br></div>
     
     
     
     <td>
     </tr></div>"
);
   
    }
    
   } 
  #4 (permalink)  
Antiguo 08/11/2004, 08:13
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 4 meses
Puntos: 0
ok

Cita:
Iniciado por newfaq
Hola amigos!

Tengo un problema menor...

Resulta que tengo diferentes categorias enumeradas del 1 al 10 de la siguiente forma:

Categoria 1,Categoria 2,Categoria ..., Categoria 10

Lo que pasa es que cuando tengo mas de 10 me las muestra asi:

Categoria 1
Categoria 10
Categoria 11
Categoria 12
Categoria 2
Categoria 3
..........

y asi etc.

Como hago para ordenar del 1 al 12 normalmente?

Gracias

FACUNDO
Será que tienes que ordenarlos así?

Categoria 01
Categoria 02
Categoria 03
Categoria 04
Categoria 05
..
.
.
.

Osea anteponiendole el "0" cero ?, lo mismo pasa en el sistema de archivos del windows si uno enumera archivos, tiene que hacerlo con 01, 02, 03 para que él los ordene bien


__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #5 (permalink)  
Antiguo 08/11/2004, 08:17
Avatar de newfaq  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 243
Antigüedad: 13 años, 2 meses
Puntos: 0
Claro, perfecto.

Eso esta muy bien.
Pero hay forma de ordenarlos de forma racional y humana.
Xq' hay 2 tipos de ordenamientos, el logico y el racional.

Uno es el que usa windows y el otro es el que supuestamente usaria un humano al ordenar esa secuencia de numeros.

Pero no tengo idea de como!

= mil gracias por tu ayuda andinistas!

Facundo
  #6 (permalink)  
Antiguo 08/11/2004, 08:19
Avatar de replica  
Fecha de Ingreso: noviembre-2004
Mensajes: 68
Antigüedad: 13 años, 1 mes
Puntos: 2
Ufff, no he leído todo el código, pero por lo que dices en el encabezado yo diría que estás ordenando los números como si fueran texto.
Vamos, esa manera de ordenar es la que se utiliza para textos (aunque el texto contenga un número).
  #7 (permalink)  
Antiguo 08/11/2004, 08:19
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 4 meses
Puntos: 0
ok

Cita:
Iniciado por newfaq
Claro, perfecto.

Eso esta muy bien.
Pero hay forma de ordenarlos de forma racional y humana.
Xq' hay 2 tipos de ordenamientos, el logico y el racional.

Uno es el que usa windows y el otro es el que supuestamente usaria un humano al ordenar esa secuencia de numeros.

Pero no tengo idea de como!

= mil gracias por tu ayuda andinistas!

Facundo

Ok si tienes esas categorias en una base de datos pues con una sentencia SQL la podrías ordenar, pero realmente dudo en qué estas aplicando esas categorías...

En una base de datos?
en carpetas o archivos?

si nos puedes dar más información...
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #8 (permalink)  
Antiguo 08/11/2004, 08:29
Avatar de newfaq  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 243
Antigüedad: 13 años, 2 meses
Puntos: 0
Las categorias las tengo dentro de un vector en un archivo llamado "cat.php", despues en el otro archivo con un "foreach" accedo al vector dentro de "cat.php"....

Cuando lo muestro ahi, quiero que me lo ordene de manera humana..

GRACIAS!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:35.