Foros del Web » Programando para Internet » PHP »

Ordenar por ID sin BD / DB con PHP

Estas en el tema de Ordenar por ID sin BD / DB con PHP en el foro de PHP en Foros del Web. Hola, tengo un problema, he estado buscando en el foro hace tiempo, pero encuentro otras cosas que no... Lo que necesito, es que me ayuden ...
  #1 (permalink)  
Antiguo 31/08/2009, 08:17
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Pregunta Ordenar por ID sin BD / DB con PHP

Hola, tengo un problema, he estado buscando en el foro hace tiempo, pero encuentro otras cosas que no...

Lo que necesito, es que me ayuden a resolver este pequeño pero enredoso problemita.


Estoy buscando ordenar por ORDEN ASCENDIENTE un contenido como este:

Código HTML:
<div id="1">
</div>

<div id="2">
</div>

<div id="3">
</div> 

Y lo que quiero que muestre mediante PHP es esto:

Código HTML:
<div id="3">
</div>

<div id="2">
</div>

<div id="1">
</div> 

Es decir, que se MUESTRE primero el ULTIMO. ¿Como podria hacerle?

#########################NOTA##################### ###############

Para los IDS tengo algo como esto:

Código PHP:
$secuencia + (aqui tengo otro $loqueseaque me da la secuencia de 1 a "n" numeros.)

echo 
"<div id=$secuencia>Contenido X</div> \n"
Espero haberme explicado correctamente. Saludos.
  #2 (permalink)  
Antiguo 31/08/2009, 08:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Lo que te sugiero es ingresar los datos dentro de un array luego con array_reverse los colocas alreves
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 31/08/2009, 08:25
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Ordenar por ID sin BD / DB con PHP

¿Podrias explicarme como? Todavia no se mucho de PHP... por favor y gracias.
  #4 (permalink)  
Antiguo 31/08/2009, 08:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Puedes hacer esto
Código php:
Ver original
  1. $array = array();
  2. $array[] = "<div id=\"1\"></div>";
  3. $array[] = "<div id=\"2\"></div>";
  4. $array[] = "<div id=\"3\"></div>";
  5.  
  6. array_reverse($array);
  7.  
  8. echo "<pre>";
  9. print_r($array);
  10. echo "</pre>";

O puedes crearlos dentro de un loop como por ejemplo for, while e ir agregando los numero automaticamente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 31/08/2009, 08:32
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Voy a checar y aviso, gracias.

He estado trabajando en tu Ayuda y pues no me salio, finalmente puse TU CODIGO en un PHP aparte y no ha funcionado el REVERSE.

Hay alguna forma de lograr lo que necesito?

Última edición por GatorV; 31/08/2009 a las 10:25
  #6 (permalink)  
Antiguo 31/08/2009, 09:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Disculpa se me olvido colocar una variable, verifica con esto
Código php:
Ver original
  1. <?php
  2. $array = array();
  3. $array[] = "<div id=\"1\"></div>";
  4. $array[] = "<div id=\"2\"></div>";
  5. $array[] = "<div id=\"3\"></div>";
  6.  
  7. $arrayRevertida = array_reverse($array);
  8.  
  9. echo "<pre>";
  10. print_r($arrayRevertida );
  11. echo "</pre>";
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 31/08/2009, 09:28
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
OK trabajando en ello... gracias... aviso.

Probe tu ejemplo por si solo y no me muestra nada.

Lo puse asi en un php aparte:

Cita:
<?php
$array = array();
$array[] = "<div id=\"1\">1</div>";
$array[] = "<div id=\"2\">2</div>";
$array[] = "<div id=\"3\">3</div>";

$arrayRevertida = array_reverse($array);

echo "<pre>";
print_r($arrayRevertida );
echo "</pre>";
?>

Última edición por GatorV; 31/08/2009 a las 10:26
  #8 (permalink)  
Antiguo 31/08/2009, 10:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Que raro a mi me mostro bien. Acuerdate que los div no se van a mostrar porque es parte del lenguaje de html tienes que darle click derecho para ver el resultado.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 31/08/2009, 10:04
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
En codigo fuente no me ha mostrado nada.

E incluso les puse el 1, 2, 3, para que se mostraran, o en lugar de:

Cita:
print_r
no le deberia poner un echo ?

Para que se muestren?

Ya puse echo y me muestra lo siguiente:

Cita:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>

<pre>Array</pre></body>
</html>
Pero necesito que se muestren los DIV's en orden Ascendente: 3 2 1 etc. no que se muestre "Array" :s

Última edición por GatorV; 31/08/2009 a las 10:26
  #10 (permalink)  
Antiguo 31/08/2009, 10:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Porque es un array y por eso con print_r debe salir la información completa del array. No se porque no te sale. Te sugiero que cierres todas las pantallas de los navegadores, tal vez esta guardada en la memoria del navegador que estas usando la informacion con el error. Y vuelvas a abrir alguna y uses el ejemplo que te di

Código PHP:
Ver original
  1. <?php
  2. $array = array();
  3. $array[] = "<div id=\"1\"></div>";
  4. $array[] = "<div id=\"2\"></div>";
  5. $array[] = "<div id=\"3\"></div>";
  6.  
  7. $arrayRevertida = array_reverse($array);
  8.  
  9. echo "<pre>";
  10. print_r($arrayRevertida);
  11. echo "</pre>";
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 31/08/2009, 10:30
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Ordenar por ID sin BD / DB con PHP

Listo! el orden es inverso.

Pero otra cosa, esto es lo que me muestra la pagina:

Cita:
Array
(
[0] =>
3

[1] =>
2

[2] =>
1

)
Le agregue a los <div id=1>1</div> - <div id=2>2</div> etc, para que me mostrara la inversa, pero el

array ( [0] => )

es molesto, como le hago para que solo muestre los DIV's???
  #12 (permalink)  
Antiguo 31/08/2009, 10:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Solo es un ejemplo para que veas como se muestras los array. Lo que tienes que hacer ahora es crear un loop con while o for e ir mostrando los divs que hay en los array.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 31/08/2009, 10:40
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Ordenar por ID sin BD / DB con PHP

O_o es buena ayuda lo de la Reversa de un Div, pero estoy intentando eliminar el "Array ( []=> )" pero no consigo hacerlo, checo y sino me sigues ayudando, vale? Gracias por el 1er Paso ;)
  #14 (permalink)  
Antiguo 31/08/2009, 10:45
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Ordenar por ID sin BD / DB con PHP

lo que necesitas es crear un loop (while o for como quieras)
y acceder a cada posicion del array y hacer un "echo" a su contenido.
mas o menos esto:

Código php:
Ver original
  1. $longitudArray = count($array);
  2. for($i=0; $i<$longitudArray; $i++){
  3. echo $array[$i]; //o $arrayRevertida[$i];
  4. }

que es lo que dijo abimaelrc :P

saludos
  #15 (permalink)  
Antiguo 31/08/2009, 10:46
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Ordenar por ID sin BD / DB con PHP

Jajaja

Al <pre> le puse un id: <pre id=array>

y solo le puse un estilo CSS:

Cita:
<style type="text/css">
#array{position:absolute;left:-5000px;}
#array div {position:absolute;left:5000px;}
</style>
Ahora solo se ven los DIV's

XD
  #16 (permalink)  
Antiguo 31/08/2009, 10:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Que forma de logarlo

Te sugiero hacer lo del loop, te evitas esa linea de codigo en el navegador.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 31/08/2009, 10:49
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Ordenar por ID sin BD / DB con PHP

Cita:
Iniciado por kike00 Ver Mensaje
lo que necesitas es crear un loop (while o for como quieras)
y acceder a cada posicion del array y hacer un "echo" a su contenido.
mas o menos esto:

Código php:
Ver original
  1. $longitudArray = count($array);
  2. for($i=0; $i<$longitudArray; $i++){
  3. echo $array[$i]; //o $arrayRevertida[$i];
  4. }

que es lo que dijo abimaelrc :P

saludos
Lo probaste? lo puse y no me sale nada
  #18 (permalink)  
Antiguo 31/08/2009, 10:50
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Ordenar por ID sin BD / DB con PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Que forma de logarlo

Te sugiero hacer lo del loop, te evitas esa linea de codigo en el navegador.
Pero no le entiendo
  #19 (permalink)  
Antiguo 31/08/2009, 10:52
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Ordenar por ID sin BD / DB con PHP

no lo probe pero estoy 100% seguro de que funciona :P

Edito:

acabo de probar este codigo:

Código php:
Ver original
  1. <?php
  2.     $array = array();
  3.     $array[] = "<div id=\"1\">1</div>";
  4.     $array[] = "<div id=\"2\">2</div>";
  5.     $array[] = "<div id=\"3\">3</div>";
  6.     $arrayRevertida = array_reverse($array);
  7.     $longitudArray = count($array);
  8.     for($i=0; $i<$longitudArray; $i++){
  9.         echo $arrayRevertida[$i];
  10.     }
  11. ?>

y funciona perfectamente ....
  #20 (permalink)  
Antiguo 31/08/2009, 10:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar por ID sin BD / DB con PHP

Te doy el ejemplo y tu lo modificas. Te sugiero leer sobre los while y for para que puedas entender mejor el concepto.

Código PHP:
Ver original
  1. <?php
  2. $array = array();
  3. $array[] = "<div id=\"1\"></div>";
  4. $array[] = "<div id=\"2\"></div>";
  5. $array[] = "<div id=\"3\"></div>";
  6.  
  7. $arrayRevertida = array_reverse($array);
  8.  
  9. for($i=0; $i<count($arrayReverse); $i++){
  10.   echo $arrayReverse[$i];
  11. }

Edito:
No me habia fijado que kike te habia dado el ejemplo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #21 (permalink)  
Antiguo 31/08/2009, 10:58
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Cita:
Iniciado por kike00 Ver Mensaje
lo que necesitas es crear un loop (while o for como quieras)
y acceder a cada posicion del array y hacer un "echo" a su contenido.
mas o menos esto:

Código php:
Ver original
  1. $longitudArray = count($array);
  2. for($i=0; $i<$longitudArray; $i++){
  3. echo $array[$i]; //o $arrayRevertida[$i];
  4. }

que es lo que dijo abimaelrc :P

saludos

ES CIERTO, AMBOS FUNCIONARON, TRABAJO COMPLETO !!! GRACIAS !!!

Codigo final:

Código PHP:
<?php
$array 
= array();
$array[] = "<div id=\"1\">1</div>";
$array[] = "<div id=\"2\">2</div>";
$array[] = "<div id=\"3\">3</div>";
 
$arrayRevertida array_reverse($array);
 
for(
$i=0$i<count($arrayRevertida); $i++){
  echo 
$arrayRevertida[$i];
}


?>

ahora lo voy a adaptar a mi contenido, gracias.
GRACIAS POR LA AYUDA DE AMBOS.
!!:si ::s i:

Tengo otro problema, Al momento de ingresar el codigo en PHP:

Cita:
$array = array();
$array[] = "<div id=$secuencia></div>";
No me los ordena en Ascendente, a fuerza tengo que poner manualmente cada div?

asi:

Cita:
$array[] = "<div id=\"1\">1</div>";
$array[] = "<div id=\"2\">2</div>";
$array[] = "<div id=\"3\">3</div>";
necesito que sea automático, como le hago?

Última edición por GatorV; 31/08/2009 a las 11:30
  #22 (permalink)  
Antiguo 31/08/2009, 11:28
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Ordenar por ID sin BD / DB con PHP

necesitas un contador que lleve el id del div...

Código php:
Ver original
  1. <?php
  2.     $contador = 0;
  3.     $array = array();
  4.    
  5.     while($contador<10){
  6.         $array[] = "<div id=\"".$contador."\">".$contador."</div>";
  7.         $contador++;
  8.     }
  9.  
  10. ?>

y esa es una forma de como llenar el array... ahi tu lo acoplas a lo que necesita...
te recomiendo que leas un poco sobre "secuencias de control" especificamente while/for

saludos.
  #23 (permalink)  
Antiguo 31/08/2009, 12:12
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Cita:
Iniciado por kike00 Ver Mensaje
necesitas un contador que lleve el id del div...

Código php:
Ver original
  1. <?php
  2.     $contador = 0;
  3.     $array = array();
  4.    
  5.     while($contador<10){
  6.         $array[] = "<div id=\"".$contador."\">".$contador."</div>";
  7.         $contador++;
  8.     }
  9.  
  10. ?>

y esa es una forma de como llenar el array... ahi tu lo acoplas a lo que necesita...
te recomiendo que leas un poco sobre "secuencias de control" especificamente while/for

saludos.
Ya tengo un secuenciador, es el $secuencia, esta $secuencia lee los objetos en una carpteta, si hay 10 objetos, la $secuencia es 10

y se marca con php:

1
2
3
4
5
6
7
8
9
10

este es mi secuenciador, entonces; lo que necesito es que el ARRAY, le de la inversa a la $secuencia Automatica.

con el ejemplo que mencionas, solamente se crean numeros asi:

0
01
012
0123
01234
012345
0123456
12234567
123456789

Ya, estaba poniendo mal un codigo:

Cita:
$array[] = "<div id=\"".$secuencia."\">".$secuencia."</div>";
entonces, si tenemos un Contador Automatico, el codigo final es este:


Código PHP:
<?php 
$array 
= array(); 
$array[] =  "<div id=\"".$secuencia."\">".$secuencia."</div>"

  
$arrayRevertida array_reverse($array); 
  
for(
$i=0$i<count($arrayRevertida); $i++){ 
  echo 
$arrayRevertida[$i]; 



?>

Son todos unos genios, ha quedado perfecto, gracias...



NO ha quedado, me sigue mandando a:

1
2
3
4
5

:(

Última edición por GatorV; 31/08/2009 a las 13:09
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 19:54.