Foros del Web » Programando para Internet » PHP »

Como hago para meter todo el contenido de este <div> en un echo?

Estas en el tema de Como hago para meter todo el contenido de este <div> en un echo? en el foro de PHP en Foros del Web. Hola. Estoy tratando de usar una funcion para que me intercale los colores de fondo celda cuando imprime los datos que vienen de una BD. ...
  #1 (permalink)  
Antiguo 27/07/2007, 11:36
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Pregunta Como hago para meter todo el contenido de este <div> en un echo?

Hola.

Estoy tratando de usar una funcion para que me intercale los colores de fondo celda cuando imprime los datos que vienen de una BD.

Mi problema es que dentro de esa celda, que se imprime con un echo, acorde a la funcion, necesito meter todo el contenido de este div.

Código PHP:
<div class="content" onmouseover='this.style.background="#FFF4CE"' onmouseout='this.style.background="#FFFDEE"'>
             
              <table style="width:672px">
                <tr style="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#000000">
                  <td width="35">
                    <input type="checkbox" name="compare[]" value="<?php echo $row["id"?>" style="border: 0px solid #C5C5C5" onClick="createCookie('compare_'+this.value,this.value,'')" >
                  </td>
                  <td align="left" width="77" style="vertical-align:middle">
                     <?php 
                            $is_there_image 
"no";
                            
$image_name="";
                            for(
$j=1;$j<=12;$j++)
                            { 
                                if(
$j==1)
                                {
                                    
$image_name_number $row["stock"].".jpg";
                                    
$image_name_letter $row["stock"].".jpg";
                                }
                                else
                                {
                                    
$image_name_number $row["stock"]."-".$j.".jpg";
                                    
$image_name_letter $row["stock"]."__".chr($j+63).".jpg";
                                }
                                
                                if(
is_file($upload_image_path.$row["member_id"]."/".$image_name_number))
                                {
                                    
$is_there_image "yes";
                                    
$image_name $image_name_number;
                                    break;
                                }
                            
                                if(
is_file($upload_image_path.$row["member_id"]."/".$image_name_letter))
                                {
                                    
$is_there_image "yes";
                                    
$image_name $image_name_letter;
                                    break;
                                }
                            }
//for($j=1;$j<=12;$j++)
                        
                        
                        
if($is_there_image == "yes")
                        {
                          
$image_sizes=GetImageSize($upload_image_path.$row["member_id"]."/".$image_name);
                          
/********IF THE IMAGE IS SMALLER THAN RESIZED IMAGE ****************/
                          
if($image_sizes[0]<= "100")
                               
$new_width $image_sizes[0];
                          else
                               
$new_width "100";
                          
/***************CALCULATING THE HEIGHT OF THE NEW(RESIZED) IMAGE*********************/
                          
$width_ration=$image_sizes[0]/$new_width;//calculating the ratio between the width of the original and the new(resized) image
                          
$new_height=round($image_sizes[1]/$width_ration);//the height of the new image
                    
?>
<img src="images/triangulito2.gif" width="4" height="7" border="0"/>&nbsp;<a href="<?=$site_secure_URL?>/images/<?=$row["member_id"]?>/<?= $image_name?>" rel="lightbox" title="<?php echo $row["year"?>&nbsp;
        <?php echo $row["model"?>&nbsp; 
        <?php echo $row["type"?> - &lt;a href=&quot;details.php?id=<?= $row["id"?>&quot;&gt;more details&lt;/a&gt;"><font size="1">Fast Preview</font></a><br />
                <a href="details.php?id=<?= $row["id"?>"><img src="<?=$site_secure_URL?>/images/<?=$row["member_id"]?>/<?= $image_name?>" width="<?=$new_width ?>" height="<?=$new_height ?>" class="border1" /></a>
                <?php 
                        
}else{?>
                <img src="<?=$site_secure_URL?>include/images/noimage2.gif" width="75" class="border1" />
            <?php }?>            
                  </td>
                  <td align="left" width="1" style="vertical-align:middle">&nbsp;
                  </td>
                  <td width="280" align="left" style="vertical-align:middle">
                    <a href="details.php?id=<?= $row["id"?>"><span style="font-family:Arial, Helvetica, sans-serif; color:#0000FF; font-size:15px; font-weight:bold"> <?php echo $row["year"?>&nbsp; <?php echo $row["model"?>&nbsp; <?php echo $row["type"?></span></a> &nbsp;<a href="details.php?id=<?= $row["id"?>"><span style="color:#0000FF; font-size:10px; font-family:Verdana, Arial, Helvetica, sans-serif">[+] details</span>
                    </a>
                     <br />
                    Dealer: 
                    <a href="results.php?dealer_id=<?php echo $row["member_id"];?>">
                      <span style="font-size:10px; text-decoration:none"><?php echo $row["company"];?></span>
                    </a>
         <?php
  $d 
ds_distance($zip$row["zip"]);
  
  if (
$d == -1)
  {
    
$zip54 'in '.$row["city"];
     
/* echo " Not available"; */
  
}
  else
  {
  
$zip55 round($d,2);
  
$zip56 "miles away";
  } 
?>          
                      <span style="color:#666666; font-size:10px; font-style:italic; font-family:Georgia, "Times New Roman", Times, serif">&nbsp;<?php echo $zip54;?>
                      </span>
                      <span style="color:#666666; font-size:11px; font-style:italic; font-family:Verdana, Arial, Helvetica, sans-serif, Times, serif">&nbsp;<?php echo $zip55." ".$zip56;?> 
                      </span>
                        <br />
                       <img src="images/tele.gif"  style="vertical-align:middle"/>&nbsp;<span style=" vertical-align: middle; font-size:12px; font-family: Arial, Helvetica, sans-serif; color: #990000; font-weight: bold;"><?php echo $row["dealer_phone"];?>
                       </span> 
                       <br />
                      <a href="details.php?id=<?= $row["id"?>"><img src="images/camera.gif" width="13" height="13" border="0" title="See More Pictures"/>                      </a>  <?php echo $images_num?> photos.                  </td>       
                  <td align="left" width="5" style="vertical-align:middle">&nbsp;
                  </td>
                  <td align="left" width="55" style="vertical-align:middle"><span style="color:#990000; font-size:13px;  font-family: Arial, Helvetica, sans-serif;"><strong><?php 
                            
if(number_format($row["price"])!=0) {
                            echo 
"$".number_format($row["price"]); 
                            }else{
                            echo 
"<span style=\"color:#ff0000\">****</span>";}
                            
?></strong></span>                  </td>
                  <td align="left" width="5" style="vertical-align:middle; color:#869919">&nbsp;
                  </td>
                  <td align="left" width="55" style="vertical-align:middle"><span style="color:#990000; font-size:11px;  font-family: Arial, Helvetica, sans-serif;"><strong><?php if($row["color"]) { echo $row["color"]; }else{ echo "<span style=\"color:#ff0000\">****</span>";}?></strong></span>                  </td>
                  <td align="left" width="5" style="vertical-align:middle; color:#869919">&nbsp;
                  </td>
                  <td align="left" width="50" style="vertical-align:middle">
                    <span style="color:#990000; font-size:11px;  font-family: Arial, Helvetica, sans-serif;">
                      <strong><?php echo number_format($row["millage"]);?>                      </strong>                    </span>                  </td>
                  <td align="left" width="35" style="vertical-align:middle">
                    <?php if($row["is_new_car"]=="yes") {?>
                  <div align="right"><img src="<?=$site_secure_URL?>images/new_vehicle/<?php echo $new_vehicle_image_name.".jpg"?>?key=<?=time() ?>" > 
                  </div>
                    <?php ?>
                  </td>
                </tr>
              </table>
              
                     </div>
La funcion es esta, la saque de aqui de FDW

Código PHP:
<table>
<?php
$color
='#FF0000';  // este es el primer color que queremos que aparezca
for($i=0;$i<20;$i++)
{
    echo 
"<tr bgcolor=\"$color\"><td>AQUI DEBERIA IR TODO EL CONTENIDO DEL DIV, PERO NO ME FUNCA</td></tr>";
  
$color=('#F0F0F0'==$color)?'#FF0000':'#F0F0F0';
// este es el operador ternario. Equivale a un IF-THEN-ELSE
// Es quivalente a
//  if ('#F0F0F0'==$color)
//  {
//    $color='#FF0000';
//  } else
//  {
//    $color='#F0F0F0';
//  }

}
?>
</table>
Que puedo hacer ahi? Gracias por la ayuda!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #2 (permalink)  
Antiguo 27/07/2007, 16:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Como hago para meter todo el contenido de este <div> en un echo?

Y porque no solo en lugar de meter todo le asignas una regla CSS?
Código PHP:
<?php
$classEven 
"even";
$classOdd "odd";

if( 
$counter &#37; 2 == 0 ) {
     
$class $classEven;
} else {
     
$class $classOdd;
}
?>
<div class="<?php echo $class?>" onmouseover...>
// y el resto de tu contenido.
Saludos.
  #3 (permalink)  
Antiguo 27/07/2007, 17:46
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Re: Como hago para meter todo el contenido de este <div> en un echo?

GRande GatorV!!! creo que por ahi va muchisiimo mejor la cosa!! solamente algo, en que parte pongo los dos colores de fondo que quiero que se intercale?? y que significa el #37?; 2==0) {, pq lo pones desactivado?
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #4 (permalink)  
Antiguo 28/07/2007, 10:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Como hago para meter todo el contenido de este <div> en un echo?

Los colores los asignas en un archivo CSS independiente de PHP y HTML, creas la clase:
Código:
.even {
      background-color: #ffffff;
      color: #000;
}
.odd {
      background-color: #ff1281;
      color: #000;
}
Y creo el codigo se puso mal pero es algo asi:
Código:
if( $counter % 2 == 0 ) {
     $class = $classEven;
} else {
     $class = $classOdd;
}
  #5 (permalink)  
Antiguo 28/07/2007, 12:01
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Re: Como hago para meter todo el contenido de este <div> en un echo?

Una pregunta GatorV... como hace php para saber que "even" es un style cuando se lo asignas a la variable $classeven?

La verdad que no me quiere funcionar y ya lo tengo todo correcto tal cual. Me salen todas las celdas grises, ni siquiera de ninguno de los dos colores asignados en odd y en even.

GRACIAS por la ayuda! :)
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #6 (permalink)  
Antiguo 28/07/2007, 12:25
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Como hago para meter todo el contenido de este <div> en un echo?

Cita:
Iniciado por SI TAN SOLO TUVIERA Ver Mensaje
Una pregunta GatorV... como hace php para saber que "even" es un style cuando se lo asignas a la variable $classeven?

PHP no sabe que es un style, lo que hace es simplemente insertar el nombre de la clase si es la fila par o impar, ya una vez que se creó todo el código html se interpreta el código generado, y ahí es cuando busca tus clases css.

Código:
<div class="<?php echo $class; ?>" onmouseover...>
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #7 (permalink)  
Antiguo 28/07/2007, 12:31
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Re: Como hago para meter todo el contenido de este <div> en un echo?

Gracias TolerantX.!!! ya entiendo!!

Pero entonces me pregunto pq no me quiere funcionar. Estoy haciendo algo sencillo unicamente para probar, pero no me funciona, me refiero a esto:

Código HTML:
<style type=text/css>
.odd {
      background-color: #FFFFFF;
      color: #000;
}
</style> 
Código PHP:
<?php
$classOdd 
"odd";
?>
Código HTML:
<div class="<?php $classOdd; ?>"> </div> 
Se supone que esto me deberia sacar el color del background del div BLANCO (#FFFFFF), pero no me lo esta asimilando, sea el color de background que le ponga a .odd.

Que puedo estar haciendo mal??? Gracias nuevamente por la ayuda!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #8 (permalink)  
Antiguo 28/07/2007, 12:33
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Re: Como hago para meter todo el contenido de este <div> en un echo?

OK TolerantX, ya! me faltaba el "echo" grax
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #9 (permalink)  
Antiguo 28/07/2007, 12:33
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Como hago para meter todo el contenido de este <div> en un echo?

Tienes mal esta parte
Código PHP:
<div class="<?php $classOdd?>"> </div>
es

Código PHP:
<div class="<?php echo $classOdd?>"> </div>
Edito: Veo que diste con la solución, saludos :)
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #10 (permalink)  
Antiguo 28/07/2007, 12:54
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Re: Como hago para meter todo el contenido de este <div> en un echo?

Tolerantx, disculpa la molestia nuevamente, pero es que la funcion para intercalar los colores que me paso GatorV no me funciona:

Código:
<?
if( $counter % 2 == 0 ) {
     $class = $classEven;
} else {
     $class = $classOdd;
}
?>
El div no me asimila ninguno de los dos, o sea, no me pone el color de background ni de $classOdd ni de $classEven, crees que hay algo malo en esa funcion??

La verdad no entiendo que quiere decir con % 2. Estoy tratando de hacer algo sencillo con un true y false, pero tampoco le he podido pegar. Me puedes dar una mano?

GRACIAS
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #11 (permalink)  
Antiguo 28/07/2007, 12:59
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Como hago para meter todo el contenido de este <div> en un echo?

Le pusiste valor a tus variables antes del if ?
Código PHP:
$classEven "even";
$classOdd "odd"
Y tu duda con $counter % 2 es que el operador % devuelve el residuo de una división, en este caso si el residuo es 0 (cero) es una fila par.

Recuerda que $counter es la número de la fila actual que está imprimiendo.
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #12 (permalink)  
Antiguo 28/07/2007, 13:16
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años
Puntos: 3
Sí, la funcion completa es esta,


Código:
<style type=text/css>
.even {
      background-color: #000000;
      color: #000;
}
.odd {
      background-color: #ff1281;
      color: #000;
}
</style>
Código PHP:
<?
$classEven 
"even";
$classOdd "odd";

if( 
$counter &#37; 2 == 0 ) {
     
$class $classEven;
} else {
     
$class $classOdd;
}
?>
Código HTML:
<div class="<?php echo $class; ?>"> contenido </div> 
Creo que esta parte **if( $counter % 2 == 0 )** no se esta cumpliendo, o no se que pasa pq $class queda vacio, no esta imprimiendo ningun color de background el div.

Gracias por la explicacion~!

De acuerdo a lo que dices que $counter es el # de fila que estoy imprimiendo, entonces lo deberia declarar asi? $row["id"], que es como vengo manejando el # de fila


Código PHP:
<?
$classEven 
"even";
$classOdd "odd";

if( 
$row["id"] % == ) {
     
$class $classEven;
} else {
     
$class $classOdd;
}
?>
El que me hayas dicho que $counter es el # de fila fue un gran avance... cambie este counter por $row["id"] y ya me intercalo los color, pero de la siguiente manera:

- las 3 primeras: FUCSIA
- las 2 siguientes: ENGRAS
- la 6ta: FUCSIA
- la 7ma y la 8va : NEGRAS

en fin.. creo que el **if( $row["id"] % 2 == 0 )** esta mal, es inconstante, no los intercala, sabes como puedo arreglarlo?? creo que ya casi estoy que le doy..

Gracias.

GRACIAS TorelantX por la ayuda!!!

Finalmente pude! y me voy a celebrar!! jaja!! toda la tarde en esto !!coño!! que me imagino que para alguien que trabaje con PHP todos los dias debe ser muy facil .

Lo solucione con este sencillo algortimo, :

Código PHP:
<?
$classEven 
"even";
$classOdd "odd";

   if (
$counter==0){
       
$class$classEven;
       
$counter=1;
    }else{
       
$class=$classOdd;
       
$counter=0;
    }
?>


ya vendran nuevos problemas....
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.

Última edición por SI TAN SOLO TUVIERA; 29/07/2007 a las 12:24 Razón: Corrigiendo un Errorsito. A Proposito que mal el que hayan concatenado los 3 post, se percibe erroneamente el hilo.
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 03:49.