Foros del Web » Programando para Internet » PHP »

recoger valor y asociarlo a CSS

Estas en el tema de recoger valor y asociarlo a CSS en el foro de PHP en Foros del Web. Hola! Mendiante php hago una consulta a MySQL que me dice el tamaño de las tablas que tengo en un valor de "%" Por ejemplo, ...
  #1 (permalink)  
Antiguo 20/03/2009, 06:52
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
recoger valor y asociarlo a CSS

Hola!
Mendiante php hago una consulta a MySQL que me dice el tamaño de las tablas que tengo en un valor de "%"
Por ejemplo, me puede dar que una tabla tiene un 4% o 10% de tamaño.
Me gustaria que este valor apareciera en mi CSS.
El caso es que tengo por separado el codigo y no se como poner el CSS dentro de mi PHP.

El codigo que tengo es para el CSS:

Código:
<style type="text/css">
	
	#progress-bar {
		background: url(percentage-bg.png) no-repeat left center;
		width: 316px;
		height: 39px;
	}
	#progress-level {
		background: url(progress.png) no-repeat left center;
		width: quevariablepongo%;
		height: 39px;
	}
y el codigo para el PHP:

Código:
<?php
  mysql_connect("localhost", "user", "pass");
  mysql_select_db("mysql");
  $result = mysql_query("show table status");
  $size = 0;
  $out = "";
  while($row = mysql_fetch_array($result)) {
      $size += $row["Data_length"];
      $out .= $row["Name"] .": ". 
                   round(($row["Data_length"]/1024), 2) ."<br> \n";
  }
  $size = round(($size/1024), 1);
  echo $out ."\n";
  echo $out ."<br> \n";
  echo "Total MySQL db size: $size";
?>
cuando llamo a mi CSS lo hago en un div:

<div id="progress-bar"><div id="progress-level"></div></div>

En el PHP, por la linea round(($row["Data_length"]/1024), 2) ."<br> \n" me da un numero (ej.: 80%) como lo asocio al CSS??

Última edición por guif; 20/03/2009 a las 07:02
  #2 (permalink)  
Antiguo 20/03/2009, 10:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Solamente con un echo:
Código php:
Ver original
  1. <?php
  2.   mysql_connect("localhost", "user", "pass");
  3.   mysql_select_db("mysql");
  4.   $result = mysql_query("show table status");
  5.   $size = 0;
  6.   $out = "";
  7.   while($row = mysql_fetch_array($result)) {
  8.       $size += $row["Data_length"];
  9.       $out .= $row["Name"] .": ".
  10.                    round(($row["Data_length"]/1024), 2) ."<br> \n";
  11.   }
  12.   $size = round(($size/1024), 1);
  13.   echo $out ."\n";
  14.   echo $out ."<br> \n";
  15.   echo "Total MySQL db size: $size";
  16. ?>
  17. <style type="text/css">
  18.    
  19.     #progress-bar {
  20.         background: url(percentage-bg.png) no-repeat left center;
  21.         width: 316px;
  22.         height: 39px;
  23.     }
  24.     #progress-level {
  25.         background: url(progress.png) no-repeat left center;
  26.         width: <?php echo $size; ?>%;
  27.         height: 39px;
  28.     }

Saludos.
  #3 (permalink)  
Antiguo 23/03/2009, 14:14
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

mmmm pero para que me genere varias veces este valor??
Es decir, con dicha consulta me saca x numeros de valores (diferentes tamaños de mis tablas en mysql)
Como genero un CSS para cada valor???
  #4 (permalink)  
Antiguo 23/03/2009, 15:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Pues eso ya es tema de CSS, no de PHP, tienes que crear diferentes clases, y así las vas asignando, con PHP solo tienes que imprimir el CSS correcto.

Saludos.
  #5 (permalink)  
Antiguo 24/03/2009, 06:32
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

entre estas lineas saco el tamaño de cada tabla:

Código:
$out .= $row["Name"] .": ". 
                   round(($row["Data_length"]/1024), 2) ."<br> \n";
}
entonces, el trozo de css:

Código:
#progress-level {
	background: url(progress.png) no-repeat left center;
	width: <?php echo $size; ?>%;
	height: 39px;
}
no se puede incluir dentro del trozo de codigo anterior?
  #6 (permalink)  
Antiguo 24/03/2009, 08:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Claro solo asignalo a una variable como te comente e imprimelo, no te debe de dar ningún problema.

Saludos.
  #7 (permalink)  
Antiguo 24/03/2009, 09:10
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

no entiendo. Para cada valor una variable?
  #8 (permalink)  
Antiguo 24/03/2009, 09:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Pues si quieres poner varios valores, necesitas varias variables, ya que las quieres poner en un lugar diferente. Si fueran todas en el mismo puedes concatenar en la misma variable, pero a como lo que haz escrito si necesitas una variable para cada valor para poderla dibujar donde quieras:
Código php:
Ver original
  1. <?php
  2.  
  3. $var1 = round($algo);
  4. $var2 = round($otracosa);
  5. $var3 = round($mas_cosas);
  6.  
  7. /*
  8. ...
  9. */
  10.  
  11. ?>
  12. <style type="text/css">
  13. .class1 {
  14.       width: <?php echo $var1; ?>;
  15. }
  16. .class2 {
  17.       width: <?php echo $var2; ?>;
  18. }
  19. .class3 {
  20.       width: <?php echo $var3; ?>;
  21. }
  22. </style>

Saludos.
  #9 (permalink)  
Antiguo 24/03/2009, 09:27
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

pero como se las variables??? Cuando hago el while es donde muestro los datos de cada tabla.
  #10 (permalink)  
Antiguo 24/03/2009, 09:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Las variables tu las debes de saber ya que tu las debes de definir, las variables no se crean magicamente, tu debes de definirla explicitamente usando $var.

Saludos.
  #11 (permalink)  
Antiguo 24/03/2009, 10:21
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

me pierdo... yo las variables no las conozco.
Si con un while voy generando un nuevo valor y este se va escribiendo (tal como me aparece correctamente) como se lo asigno automaticamente al CSS?
Es decir, me deberia de generar un trozo de CSS automaticamente para cada valor.
  #12 (permalink)  
Antiguo 24/03/2009, 11:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

me supongo tu estas programando ese código PHP, si tu lo programas tu puedes definir el valor que quieras en la variable y luego simplemente usando un "echo" donde quieras imprimes esa variable.

Saludos.
  #13 (permalink)  
Antiguo 24/03/2009, 12:06
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
si. El codigo lo estoy haciendo yo. El problema es que no se como controlar la variable con el valor que me genera. Vaya, que no lo entiendo! (la verdad mi nivel de php no es muy bueno... pero bueno, hago lo que puedo :) )

No entiendo lo de las valores y que tengo que asociar a las clases.
Es decir, si hago una monitorización del tamaño de una BBDD, este me devuelve tantos valores como tablas haya. Si miro otra BBDD me devolvera otros valores.

El problema, para mi, es hacer el buche para que vaya generando un unico css para cada valor.

Última edición por GatorV; 25/03/2009 a las 09:11
  #14 (permalink)  
Antiguo 25/03/2009, 09:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Pues esque es simple, es asignar a una variable un valor y mostrarlo es PHP básico:
Código php:
Ver original
  1. $var = 'foo';
  2. /*
  3. ...
  4. */
  5. echo $var; // imprime foo

Si sigues ese mismo concepto lo puedes hacer igual en cualquier lado para asignarlo en lo que tu quieras.

Recuerda que PHP es un lenguaje que se ejecuta del lado del servidor, y su unica tarea es imprimir y procesar texto, el que el texto que imprima sea CSS, HTML, Javascript o lo que sea es indiferente, por lo que tu debes de imprimir el valor que quieres donde quieras, si es parte de un CSS ya eso es independiente de lo que se hace con PHP.

Saludos.
  #15 (permalink)  
Antiguo 25/03/2009, 13:26
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

pero el css lo tengo que incluir variar veces en mi codigo php?
No entiendo el como captar el valor que tengo y añadirlo a mi css.
  #16 (permalink)  
Antiguo 25/03/2009, 13:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Como te comente, PHP solo imprime texto, el que imprima CSS es independiente, y para imprimirlo en el CSS que ya tienes solamente con un simple echo lo haces, ya te puse ejemplos más arriba de como asignarlo a una variable y posteriormente imprimir esa variable.

No te lies mucho recuerda que PHP se ejecuta en el servidor, tu tienes que imprimir tu CSS y tu estructura HTML correctamente para que se vea bien en el browser.

Saludos.
  #17 (permalink)  
Antiguo 27/03/2009, 07:54
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: recoger valor y asociarlo a CSS

Me he creado una clase en el estilo asi:

Código:
<STYLE>

.progress-level {
background: url(progress.png) no-repeat left center;
height: 39px;
}

progress-text {
  font-weight: bold;
  padding: 12px 5px 12px 19px;
}

</STYLE>
y luego para llamarlo como seria? He puesto esto:

Código:
<div class="progreso-level" style="<?php echo $size; ?>%">
	<div id="progress-text">
		<?php echo $name_tablespace, ":   " , $size; ?>%
	</div>
</div>
Pero como pongo esto dentro de mi While?
  #18 (permalink)  
Antiguo 27/03/2009, 11:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor y asociarlo a CSS

Esto ya es tema de CSS, y así no llamas a un CSS, en la propiedad de style="" solo puede ir CSS valido.

Lo que puedes hacer si quieres cambiar dinamicamente el tamaño es algo así:
Código php:
Ver original
  1. <div class="progreso-level" style="width: <?php echo $size; ?>%;">
  2.     <div id="progress-text">
  3.         <?php echo $name_tablespace, ":   " , $size; ?>%
  4.     </div>
  5. </div>

Saludos.
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 00:18.