Foros del Web » Programando para Internet » PHP »

Maquetar de forma diferente al resto, el primer resultado de una consulta a bbdd

Estas en el tema de Maquetar de forma diferente al resto, el primer resultado de una consulta a bbdd en el foro de PHP en Foros del Web. Hola amigos, ¿Cómo puedo hacer que, al paginar los resultados de una consulta a la base de datos, la primera consulta de la lista me ...
  #1 (permalink)  
Antiguo 25/03/2006, 11:46
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 14 años, 2 meses
Puntos: 0
Maquetar de forma diferente al resto, el primer resultado de una consulta a bbdd

Hola amigos,

¿Cómo puedo hacer que, al paginar los resultados de una consulta a la base de datos, la primera consulta de la lista me muestre el resultado en negrita, o me permita darle una maquetación html distinta al del resto de resultados de la consulta?.

Os pongo el ejemplo de código que estoy usando.

Código PHP:
<? 
$db
=mysql_connect("bbdd","user","pass"); 
$sql="SELECT * FROM tabla WHERE ORDER BY id DESC";
$qry mysql_db_query('tabla',$sql,$db);

while (
$row=mysql_fetch_array($qry)){ 
    
    echo
"".$row['cliente']."";

?>
  #2 (permalink)  
Antiguo 25/03/2006, 12:19
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola David224

Prueba esto:
Código PHP:
<?php 
$db
=mysql_connect("bbdd","user","pass"); 
$sql="SELECT * FROM tabla WHERE ORDER BY id DESC";
$qry mysql_db_query('tabla',$sql,$db);
$negrita true;
while (
$row=mysql_fetch_array($qry)){ 
if (
$negrita) {
    echo 
'<span style="font-weight:bold">'.$row['cliente'].'</span>';
    
$negrita false;
  }
  else      
    echo
"".$row['cliente']."";

?>
Saludos,
  #3 (permalink)  
Antiguo 25/03/2006, 12:22
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 14 años, 2 meses
Puntos: 0
Gracias javierB :D

¿Y para conseguir que el primer registro se pagine, por ejemplo, dentrod e una tabla de color rojo, y el resto de registros fuera de ella?.

Es decir, poder dar al primer registro una maquetación diferente al del resto(tabla, estilo, meterle una imagen).

Muchas gracias de nuevo por la ayuda
  #4 (permalink)  
Antiguo 25/03/2006, 13:06
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
Seria el mismo procedimiento, teniendo en cuenta que:
Código PHP:
<?
if ($negrita) {
    echo 
'<span style="font-weight:bold">'.$row['cliente'].'</span>';
    
$negrita false;
  }
?>
Esa parte es donde se mostrara el primer registro en negrita, para mostrarlo, por ejemplo, en una tabla:
Código PHP:
<?
if ($negrita) {
    echo 
"<table><tr><td bgcolor='green'>";
    echo 
'<span style="font-weight:bold">'.$row['cliente'].'</span>';
    echo 
"</td></tr></table>";
    
$negrita false;
  }
?>
Teniendo en cuenta eso, puedes maquetar el registro como prefieras.
  #5 (permalink)  
Antiguo 25/03/2006, 14:03
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 14 años, 2 meses
Puntos: 0
Me funciona a medias :S

Me distingue el formato del primer registro, pero me muestra de nuevo el 1º en el 2º lugar. Es decir, repite el registro 1º. ¿Tal vez sea porque estoy usando paginator para ello?.
  #6 (permalink)  
Antiguo 25/03/2006, 16:13
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
A lo mejor si encierras con corchetes el else tb, te anda mejor:
Código PHP:
<?
if ($negrita == true) {
    echo 
'<span style="font-weight:bold">'.$row['cliente'].'</span>';
    
$negrita false;
  } else {   
    echo 
$row['cliente'];
  }
?>
  #7 (permalink)  
Antiguo 25/03/2006, 17:59
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 14 años, 2 meses
Puntos: 0
Sigue pasando lo mismo. Tiene que ser cosa del paginator :( Que pena
  #8 (permalink)  
Antiguo 25/03/2006, 21:06
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Bueno David... yo ya te había respondido en un thread anterior lo mismo. Lo que parece que haces un copy&paste de los que te postea y no entiendes ni media línea.

Lo que va dentro del if es lo que se ejecuta la primera vez... lo que va en el else se ejecuta el resto de veces.
  #9 (permalink)  
Antiguo 26/03/2006, 02:57
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 15 años, 8 meses
Puntos: 0
Deberias colocar tu código, eso no es problema de paginator, algo estas haciendo mal.
Sino pones tu codigo no te podremos ayudar, por ahi tienes 2 registros iguales en la base de datos y no te diste cuenta, por ahi suele pasar que para ver una modificacion apretas f5 y si ejecuta el script que guarda datos en la BD lo mas probable es que se duplique y se guarde por cada F5, a mi me pasa cuando hago pruebas.
Revisa eso, de no tener vos repetidos 2 campos en la BD, y sino postea el codigo.
Por cierto paginator anda de peluches.
Saludos.
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #10 (permalink)  
Antiguo 26/03/2006, 03:07
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
Cierto, podrias poner tu codigo, porque a lo mejor haces algo mal o se nos ha pasado algo por alto.

Hasta luego.
  #11 (permalink)  
Antiguo 26/03/2006, 04:47
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 14 años, 2 meses
Puntos: 0
Cita:
Iniciado por jpinedo
Bueno David... yo ya te había respondido en un thread anterior lo mismo. Lo que parece que haces un copy&paste de los que te postea y no entiendes ni media línea.
Disculpe usted!!!!!!! :P Muchas gracias, ya lo vi. Se me pasó ese post (soy muy despistadillo...

Gracias a todos :D
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 06:17.