Foros del Web » Programando para Internet » PHP »

cómo mostrar 6 últimos registros con distintos formatos cada uno

Estas en el tema de cómo mostrar 6 últimos registros con distintos formatos cada uno en el foro de PHP en Foros del Web. Hola a todos. Necesito ayuda con la siguiente cuestion. ejecuto la consulta: SELECT * FROM notas order id desc limit 0,6 y quiero que me ...
  #1 (permalink)  
Antiguo 17/04/2008, 07:53
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
cómo mostrar 6 últimos registros con distintos formatos cada uno

Hola a todos. Necesito ayuda con la siguiente cuestion.
ejecuto la consulta: SELECT * FROM notas order id desc limit 0,6
y quiero que me muestre estos registros en un listado, entonces hago
$result = mysql_query($sql, $link);
if ($row = mysql_fetch_array($result)){
mysql_field_seek($result,0);
do {
echo "
formato en que quiero que muestre los registros
";
} while ($row = mysql_fetch_array($result));

de esta manera, puedo lograr que me muestre los seis últimos registros, pero todos en el mismo formato.
El tema es que necesito que me muestre estos registros en 2 formas distintas: una noticia horizontal, dos verticales, otra horizontal, y dos más verticales.
acá lo hice en html para que vean cómo quiero que quede:
http://centos-03-ar.wavenet.com.ar/~...ebas/index.htm
(por ahora se ve bien sólo en explorer)
¿alguna idea o sugerencia? gracias!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 17/04/2008, 15:03
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Coloque en el do while ponga condiciones. Algo asi como:


Código PHP:
/* Antes del do debe inicializar una varible */
$EstNoticias 1
/* Dentro del do hace*/
if (($Estnoticias%3) == 0)
{
//imprimir horizontalmente
}
else
{
// imprimir Verticalmente.
}
$EstNoticias $EstNoticias 1

Eso es solo una idea ya usted adapta la condicion dependiendo sus necesidades.

Suerte y espero le sirva
  #3 (permalink)  
Antiguo 17/04/2008, 22:57
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Código PHP:
 <?
 $sql       
"SELECT * FROM notas order id desc limit 0,6";
 
$query  mysql_query($sql) or die(mysql_errno());

 while(
$datos mysql_fetch_array($query)){

     if(
$plantilla ==1)
            {
              
$bg "<div class=\"recuadropictext\"><img src=\"elementos/$datos[''];\" /></div>
                       <div class=\"recuadropictext\">
                     <p class=\"titu\"> $datos[''];</p>
                     <p class=\"text\">$datos[''];</p>
                     </div>
                     </div"
;

             }

            else 
            {

              
$bg "<div class=\"notivert\">
                       <div class=\"recuadropictext\">
                     <p class=\"titu\">$datos[''];</p>
                     <img src=\"elementos/$datos[''];\" /><br/>
                     <p class=\"text\">    $datos[''];    </p>
                     </div>
                     </div>
                     
                     <div class=\"notivert\">
                       <div class=\"recuadropictext\">
                     <p class=\"titu\">$datos[''];</p>
                     <img src=\"elementos/$datos[''];\" /><br/>
                     <p class=\"text\">    $datos[''];    </p>
                     </div>
                     </div>"
;

            }

 
$plantilla++;
 
}
?>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.

Última edición por eddwinpaz; 17/04/2008 a las 23:02
  #4 (permalink)  
Antiguo 17/04/2008, 23:04
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

La variable $datos['']; Quedo vacía dado a que tu hicisteis el SELECT * y no especificaste así que sorry en $datos['NOMBRE_COLUMNA'];
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #5 (permalink)  
Antiguo 17/04/2008, 23:11
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Nota: No Probe El Codigo Solo Envieame Un Mensaje Privado Haber Si Te Funciono Oki Saludos
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #6 (permalink)  
Antiguo 17/04/2008, 23:13
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

debería funcionar sin problema alguno..
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #7 (permalink)  
Antiguo 21/04/2008, 08:18
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Gracias a ambos por la ayuda. Hoy mismo hago pruebas y les cuento cómo lo resolví.
slds
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #8 (permalink)  
Antiguo 21/04/2008, 08:40
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Edito: Creo que me precipité a escribir, parece que lo que puse no funciona por tanto lo borro.

De verdad lo siento.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"

Última edición por lucasan; 21/04/2008 a las 08:47 Razón: Error en la respuesta
  #9 (permalink)  
Antiguo 21/04/2008, 08:50
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Lucasan: la idea parece interesante, pero no tengo muy claro cómo poner los elementos en el array. ¿ayuda?
Con respecto a las respuestas de helacer y edwin paz, pregunto, ¿de dónde tomo el valor de la variable $Estnoticia o $Plantilla?
porque la noticia 1y la 4 son verticales, mientras la 2 y la 3, y la 5 y 6 son horizontales... ¿cómo tendría que hacer la instrucción?
realmente me supera esto.
es más, mi cliente me ha dicho que no me haga problema, que ponga las 6 noticias horizontales y listo, así que esto ya se ha convertido en una batalla personal, porque realmente quiero saber cómo hacerlo.
gracias a todos por contestar
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #10 (permalink)  
Antiguo 21/04/2008, 22:48
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Hola, hace un rato puse una respuesta que se me ocurrió pero era errónea.

La idea como tal es válida pero no la forma en que la traté de resolver, pero en este otro tema http://www.forosdelweb.com/f18/probl...lo-php-577214/ encontré la solución.

Mi propuesta era guardar los datos de la consulta en un array para luego poder trabajar con los diferentes estilos.

Bueno, en ese post enseñan como formar ese array.

Espero te sirva, saludos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #11 (permalink)  
Antiguo 21/04/2008, 23:32
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

OK AQUI TE DEJO UN EJEMPLO

Código PHP:
 <?
 $sql       
"SELECT titulo, texto, imagen FROM notas order id desc limit 0,6";
 
$query  mysql_query($sql) or die(mysql_errno());

 
$plantilla 0;

 while(
$datos mysql_fetch_array($query)){

     if(
$plantilla ==1)
            {
              
$bg "<div class=\"recuadropictext\"><img src=\"elementos/$datos['imagen'];\" /></div>
                       <div class=\"recuadropictext\">
                     <p class=\"titu\"> $datos['titulo'];</p>
                     <p class=\"text\">$datos['texto'];</p>
                     </div>
                     </div"
;

             }

            else 
            {

              
$bg "<div class=\"notivert\">
                       <div class=\"recuadropictext\">
                     <p class=\"titu\">$datos['titulo'];</p>
                     <img src=\"elementos/$datos['imagen'];\" /><br/>
                     <p class=\"text\">    $datos['texto'];    </p>
                     </div>
                     </div>
                     
                     <div class=\"notivert\">
                       <div class=\"recuadropictext\">
                     <p class=\"titu\">$datos['titulo'];</p>
                     <img src=\"elementos/$datos['imagen'];\" /><br/>
                     <p class=\"text\">    $datos['texto'];    </p>
                     </div>
                     </div>"
;

            }

 
$plantilla++;
 
}
?>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #12 (permalink)  
Antiguo 22/04/2008, 06:41
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Gracias a ambos! ahora hago las pruebas y les cuento
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #13 (permalink)  
Antiguo 28/04/2008, 08:46
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Lucasan: con la opción que dan en el post al que me redirijiste:

Código PHP:
$sql="SELECT * FROM noticias order by fecha desc limit 0,6";
    
$result=mysql_query($sql,$link);
    
$datos=array();
    
$fila=0;
    while(
$rowmysql_fetch_assoc($result)){
      
$datos[$fila]['id']=$row['id'];
      
$datos[$fila]['foto']=$row['foto'];
      
$datos[$fila]['titulo']=$row['titulo'];
      
$datos[$fila]['bajada']=$row['bajada'];
      
$fila++;
   } 
foreach(
$datos as $valor) {
 
echo 
$valor['titulo'];
 

No he logrado nada... no sé cómo pueda eso ayudarme, quizás hay algo que no estoy interpretando bien.

Eddwin Paz: tampoco me funciona lo tuyo. Es que al definiri la variable $plantilla=0, es obvio que dividido 2 (o dividido lo que sea) siempre va a dar 0... por eso no entiendo el " if($plantilla % 2 ==1)"... ¿podrìas explicarme?
gracias
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #14 (permalink)  
Antiguo 28/04/2008, 09:11
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

el símbolo % es el resto......

si divides algo entre dos, puede dar de resto 0 (division exacta) o 1(division inexacta). En este caso daria 1 si es impar.

Si se divide entre 3, podria ser 0, 1, o 2. y etc.

Es el resto de la division ^^
  #15 (permalink)  
Antiguo 28/04/2008, 13:10
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Eleazan: ah.... ahora entiendo. Gracias por el dato.
Pero igualmente la variable está declarada al principio, no? y si está declarada como 0, siempre va a dar resto 0.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #16 (permalink)  
Antiguo 06/05/2008, 13:39
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: cómo mostrar 6 últimos registros con distintos formatos cada uno

Finalmente hice esto:

Código PHP:
$sql="SELECT * FROM noticias order by fecha desc limit 0,6";
    
$result=mysql_query($sql,$link);
    
$datos=array();
    
$fila=0;
    while(
$rowmysql_fetch_assoc($result)){
      
$datos[$fila]['id']=$row['id'];
      
$fila++;
   } 
foreach(
$datos as $valor) {
 
$noti[]=$valor['id'];
 
}
$noti1=$noti[0];
$noti2=$noti[1];
$noti3=$noti[2];
$noti4=$noti[3];
$noti5=$noti[4];
$noti6=$noti[5]; 
y presentè las variables $noti1, $noti2, etc., cada una con el formato que quise.
me faltaba estudiar un poco el tema de los arrays, claro.
gracias a todos.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
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 03:11.