Imprimir contenido tabla MySQL de forma alternada en PHP

  • Autor Autor suenajoven
  • Fecha de inicio Fecha de inicio
S

suenajoven

Épsilon
Hola amigo
estoy en un pequeño proyecto y me quede estancado quiza en lo mas facil
espero puedan ayudarme
quiero que lo que imprima sea diferente al anterior
me explico mejor mostrando codigo
Luego de hacer la consulta a la base de datos
quiero que me imprima lo que se encuentra dentro de la tabla
PHP:
echo "
 <tr>
 <td>".$row["nombre"]."</td>
 <td>".$row["email"]."</td>
 </tr>
 ";

eso se repetira siempre
pero lo que yo quiero lograr hacer es :
la primera vez imprima normal tal y como esta
pero la segunda agregarle un atributo al valor <tr> quedando algo asi <tr class="sombreado">
luego que se repita tr normal y asi sucesivamente .
Espero puedan ayudarme
Gracias
 
buenas! lo que podrías hacer es algo así:

PHP:
<?php 
// Mandamos la variable que determina el intercalado
$color = 1;
// Aquí pongo éste bucle, tu pon el tuyo
while($row = $query->fetchrow())
 {
  // Si $color es 1, muestra el 'sombreado' sino, no.
  echo (($color === 1) ? '<tr class="sombreado">' : '<tr>');
  echo $row['nombre'].'</td> 
 <td>'.$row['email'].'</td> 
 </tr>';
  // Seteamos el valor CONTRARIO de $color para que alterne los colores.
  if($color === 1) { $color = 0; }
  else { $color = 1; }
 }

No lo he probado, sinceramente.. pero debería funcionarte así 🙂

Un saludo!
 
Última edición:
Te recomiendo una solución sencilla y que te permitira mantener el codigo PHP más limpio.

Si te entendi bien lo que quieres hacer es crear una tabla estilo zebra, una fila de un color y la siguiente de otro, esto facilita claramente la lectura de la tabla. Desde PHP hay varias formas de hacerlo, una muy valida es la que te propuso Roodaka. Yo hace tiempo tambien la hacia asi, pero luego decidi utilizar jQuery para hacerlo.

Para lograrlo con jQuery deberias escribir algo asi:

Insertar CODE, HTML o PHP:
function() {
 $("table tr:nth-child(even)").addClass("zebra");
 });

Luego en tus hojas de estilo agregas el .zebra, esto va a hacer que todas las filas impares se coloreen.

Y tu código PHP se mantiene más ordenado.

Es otra forma de hacerlo.
 
Última edición:

Temas similares

Atrás
Arriba