Imprimir conteúdo de tabela MySQL de forma alternada em PHP

  • Autor Autor suenajoven
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
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
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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 edição:
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:

Inserir CODE, HTML ou 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 edição:

Tópicos similares

Voltar
Topo