Foros del Web » Programando para Internet » PHP »

Ulktimo registro de la consulta SQL

Estas en el tema de Ulktimo registro de la consulta SQL en el foro de PHP en Foros del Web. Hola amigos aca estoy trancado en este problemita: Mediante este codigo imprimo en pantalla todos los registros que arroja la consulta. Lo que quiero lograr ...
  #1 (permalink)  
Antiguo 25/01/2010, 19:39
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Ulktimo registro de la consulta SQL

Hola amigos aca estoy trancado en este problemita:

Mediante este codigo imprimo en pantalla todos los registros que arroja la consulta.
Lo que quiero lograr es manipular el color del fondo del ultimo registro para que sea diferente a todos los demas de la talba
he intentado de varias maneras pero no lo he podido lograr
Si me da una manito te lo voy a agradecer muchisimo


$result=mysql_query("select * from soporte where email='".$_SESSION['email']."' ORDER BY idticket ASC") or die(mysql_error());
//Mostramos los registros
$indice=0; // indice de tickets
// tabla con filas en las que se alterna el gris con el negro
$lista_colores=array('#E4E4E4','#FFFFFF');
$indiceColores=0;


while ($row=mysql_fetch_array($result))
{
$indice++; //para evitar que se muestre la tabla si no hay tickets
if ($indiceColores>1)
{$indiceColores=0;}
$color=$lista_colores[$indiceColores];
echo '<tr ><td bgcolor='.$color.'><div align="left" ><font color="black"><font size="3"><a href="verTicket.php?id='.$row["idticket"].'">'.$row["idticket"].'</a></td>';
echo '<td bgcolor='.$color.' ><font color="black"><div align="left" ><font size="3"><b>'.$row["tema"].'</b></td>';
echo '<td bgcolor='.$color.'><font color="black"><div align="center"><font size="3"><b>'.$row["fecha"].'</b></div></td>';
echo '<td bgcolor='.$color.'><font color="black"><div align="center"><font size="3"><b>'.$row["estado"].'</b></div></td>';
echo '<td bgcolor='.$color.'><font color="black"><div align="left"><font size="3"><b>'.$row["respuesta"].'</b></div></td></tr>';
$indiceColores++;
}
mysql_free_result($result);
?>
  #2 (permalink)  
Antiguo 25/01/2010, 19:47
 
Fecha de Ingreso: abril-2005
Ubicación: Ciudad de México
Mensajes: 50
Antigüedad: 19 años
Puntos: 2
Respuesta: Ulktimo registro de la consulta SQL

Se me ocurre algo asi;
Agrega:
$num = mysql_num_rows($result);

Y dentro del while

if($num == $i){
echo '<td bgcolor='.$colorfinal.'><font color="black"><div align="left"><font size="3"><b>'.$row["respuesta"].'</b></div></td></tr>';
}else{

echo '<tr ><td bgcolor='.$color.'><div align="left" ><font color="black"><font size="3"><a href="verTicket.php?id='.$row["idticket"].'">'.$row["idticket"].'</a></td>';
echo '<td bgcolor='.$color.' ><font color="black"><div align="left" ><font size="3"><b>'.$row["tema"].'</b></td>';
echo '<td bgcolor='.$color.'><font color="black"><div align="center"><font size="3"><b>'.$row["fecha"].'</b></div></td>';
echo '<td bgcolor='.$color.'><font color="black"><div align="center"><font size="3"><b>'.$row["estado"].'</b></div></td>';
echo '<td bgcolor='.$color.'><font color="black"><div align="left"><font size="3"><b>'.$row["respuesta"].'</b></div></td></tr>';
}
Espero y te sirva mi idea
  #3 (permalink)  
Antiguo 25/01/2010, 19:48
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 15 años, 10 meses
Puntos: 11
Respuesta: Ulktimo registro de la consulta SQL

Código PHP:
$result=mysql_query("select * from soporte where email='".$_SESSION['email']."' ORDER BY idticket ASC") or die(mysql_error());
//Mostramos los registros
 
$indice=0;  // indice de tickets
// tabla con filas en las que se alterna el gris con el negro
 
$lista_colores=array('#E4E4E4','#FFFFFF');
 
$indiceColores=0;
$cantidadRegistros mysql_num_rows($result);

while (
$row=mysql_fetch_array($result))
   {
 
$indice++; //para evitar que se muestre la tabla si no hay tickets
 
$indiceColores=$indice&#37;2;

if($indice $cantidadRegistros-1){
      
$color=$lista_colores[$indiceColores];
} else {
    
$color='#ff0000';
}

echo 
'<tr ><td bgcolor='.$color.'><div align="left" ><font color="black"><font size="3"><a href="verTicket.php?id='.$row["idticket"].'">'.$row["idticket"].'</a></td>';
echo 
'<td bgcolor='.$color.' ><font color="black"><div align="left" ><font size="3"><b>'.$row["tema"].'</b></td>';
echo 
'<td bgcolor='.$color.'><font color="black"><div align="center"><font size="3"><b>'.$row["fecha"].'</b></div></td>';
echo 
'<td bgcolor='.$color.'><font color="black"><div align="center"><font size="3"><b>'.$row["estado"].'</b></div></td>';
echo 
'<td bgcolor='.$color.'><font color="black"><div align="left"><font size="3"><b>'.$row["respuesta"].'</b></div></td></tr>';
 
$indiceColores++;
 }
 
mysql_free_result($result); 
Fijate si entiendes el cambio y pruébalo.
Saludos,
  #4 (permalink)  
Antiguo 25/01/2010, 19:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Ulktimo registro de la consulta SQL

Puedes usar un contador y compararlo con una variable que tenga el numero de registros, me refiero
Código PHP:
Ver original
  1. $sql = mysql_query("aqui va tu consulta") or die(mysql_error());
  2. $n = mysql_num_rows($sql);
  3. $c = 1;
  4. while($row = mysql_fetch_assoc($sql)){
  5.   if($c == $n){
  6.     //aqui va codigo del ultimo registro
  7.   }
  8.   $c++;
  9. }
__________________
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 25/01/2010, 20:41
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ulktimo registro de la consulta SQL

Problema resuelto!!
Muchas gracias a todos por sus sugerencias pero por sobre todo por su buena onda
GRACIAS DE NUEVO

Etiquetas: registro, sql
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 14:45.