Foros de daboweb

MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación => Webmasters - Diseño Web - Programación - Diseño gráfico => Mensaje iniciado por: kyokurider en 03 de Abril de 2006, 06:11:52 pm

Título: Filas alternativas en PHP (SOLUCIONADO)
Publicado por: kyokurider en 03 de Abril de 2006, 06:11:52 pm
Buenas,

Tengo una página en php en la que mostrar un listado mediante una tabla, esto lo hago con un bucle for.

Ahora bien, tengo una función para alternar el color de cada fila;

$tablerow_count=0;
function tablerowswitch() {
   global $tablerow_count;
   $tablerow_count++;
   if ($tablerow_count % 2) {
      echo 'class="odd"';
   }
   else {
      echo 'class="even"';
   }
}

Esta está definida en la mismas página, y la llamada a la misma sería dela siguiente forma:
 echo '<tr '.tablerowswitch().' align="center" >';


Ahora bien el resultado de esto es que me devuelve el resultado pero aparece colocado fuera de la tabla con lo cual no  se aplica el estilo indudablemente. Si miro el código de la página una vez cargada dando el error veo esto:

class="odd"<tr  align="center" ><td>

de forma que el valor que me ha devuelto me lo pone delante de la etiqueta tr y no en su interior como creo que debería ser..., alguien sabe porque??, si me ha entendido.....(no se si me explico)   :dabo:

gracias,
Título: Re: Filas alternativas en PHP
Publicado por: halo en 04 de Abril de 2006, 09:58:43 am
Estás usando mal las comillas. Eso que pretendes se hace con comillas dobles metiendo escapes cuando te interesa meter comillas como parte del texto. Además, no creo que meter la función directamente sea buena idea. Crea una nueva variable que obtenga el valor de la función y úsala.
Título: Re: Filas alternativas en PHP
Publicado por: kyokurider en 04 de Abril de 2006, 11:21:11 am
gracias por la respuesta Halo,

he probado a meter el resultado de la función en una variable y concatenar esta de la siguiente forma, 
echo '<tr '.$clase.' align="center" >';

pero el resultado es exactamente el mismo me imprime en pantalla la información de la variable fuera de la tabla, arriba del todo tal que así:

class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"class="odd"class="even"

12345 Next Last
Reference    Name    Area    Type    Hot property    Status
Fe/Largo   Apartment   Residential   Apartment   Disable   Enable   Modify   Delete   Photo
FE/Park Towers   Park Towers   Park Boulevard   Apartment   Disable   Enable   Modify   Delete   Photo
Título: Re: Filas alternativas en PHP (SOLUCIONADO)
Publicado por: kyokurider en 04 de Abril de 2006, 12:48:01 pm
ya está arreglado, al final lo he hecho más fácil,
Código: [Seleccionar]
if ($i % 2 ==1) {
$clase = 'even';
}else {
$clase = 'odd';
}

justo después de la sentencia for, y concatenar la variable con la cadena como anteriormente...
 :fumando:
Título: Re: Filas alternativas en PHP
Publicado por: halo en 04 de Abril de 2006, 12:55:13 pm
¿Cómo estás haciendo el 'for'? ¿Puedes mostrarlo? Es que dado el resultado da la sensación de que has metido un bucle dentro de otro bucle o algo así.

Además sigo apostando, en tu caso, por comillas dobles con escapes en las que forman parte de la cadena. :-d
Título: Re: Filas alternativas en PHP (SOLUCIONADO)
Publicado por: halo en 04 de Abril de 2006, 12:56:50 pm
Cruzada, ahora sé de qué me avisaban las letras rojas. :smoke:

 ;-)

Título: Re: Filas alternativas en PHP (SOLUCIONADO)
Publicado por: kyokurider en 04 de Abril de 2006, 01:01:49 pm
aquí está, era una gilipollez y por no pensar ya ves con lo fácil que era
 
Código: [Seleccionar]
for($i=0;$i<$NFilas;$i++)  {

// alternar el color de las tablas
if ($i % 2 ==1) {
$clase = 'even';
}else {
$clase = 'odd';
}

$ResultQuery = mysql_fetch_array($lanza);

   echo '<tr class="'.$clase.'" align="center">';