Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: viher en 10 Octubre 2010, 16:04 pm



Título: [solucionado] problema css y php
Publicado por: viher en 10 Octubre 2010, 16:04 pm
hola,tengo el siguiente codigo php,todo funciona bien menos el "diseño" que debería adoptar con css:

este es el code:


Código
  1. echo "<div id='videoentero' style='height:auto;width:180px;margin-right:10px;margin-bottom:25px;float:left;'><div id='img' style='height:135px;width:180px;margin-bottom:10px;'><a href='video.php?id=$url'><img height='135' width='180' src='".$name."'/></a></div><div id='nombre' style='height:auto;width:180px;margin-bottom:10px;'><b><a href='video.php?id=$url'>".$id."</a></b></div><div id='duracion' style='height:auto;width:180px;margin-bottom:10px;'><font size='-2'>".$dura."</font></div></div>";

pero se ve así:

http://img149.imageshack.us/img149/4319/tupixxx.jpg

que es lo que estoy haciendo mal para que no se vean todas los videos cuadrados?

gracias! un saludo!


Título: Re: problema css y php
Publicado por: BapeMilo en 10 Octubre 2010, 16:16 pm
separa el codigo css del php ponlo aparte poonlo en etiquetas html


Título: Re: problema css y php
Publicado por: bomba1990 en 10 Octubre 2010, 19:22 pm
separa el codigo css del php ponlo aparte poonlo en etiquetas html
ademas tambien te recomiendo firenug que te ayuda a ver que estilos estan afectando a un elemento. y te ayuda a modificarlo hay en vivo para ver mas o menor como tep podria quedar.


Título: Re: problema css y php
Publicado por: Shell Root en 10 Octubre 2010, 19:25 pm
Pero no entiendo del porque ponerlo en el HTML. Perdón leí mal. xD


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 20:28 pm
no puedo separar el css del php porque está dentro de un if,os pongo el código completo:


Título: Re: problema css y php
Publicado por: Shell Root en 10 Octubre 2010, 20:31 pm
Creo que os dijo, fue que hicieras esto,
Código
  1. <div id="videoentero" style="height:auto; width:180px; margin-right:10px; margin-bottom:25px; float:left;">
  2.   <div id="img" style="height:135px; width:180px; margin-bottom:10px;">
  3.      <a href="video.php?id=$url"><img height="135" width="180" src="".$name.""/></a>
  4.   </div>
  5.   <div id="nombre" style="height:auto; width:180px; margin-bottom:10px;">
  6.      <b><a href="video.php?id=$url">".$id."</a></b>
  7.   </div>
  8.   <div id="duracion" style="height:auto; width:180px; margin-bottom:10px;">
  9.      <font size="-2">".$dura."</font>
  10.   </div>
  11. </div>


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 21:06 pm
Creo que os dijo, fue que hicieras esto,
Código
  1. <div id="videoentero" style="height:auto; width:180px; margin-right:10px; margin-bottom:25px; float:left;">
  2.   <div id="img" style="height:135px; width:180px; margin-bottom:10px;">
  3.      <a href="video.php?id=$url"><img height="135" width="180" src="".$name.""/></a>
  4.   </div>
  5.   <div id="nombre" style="height:auto; width:180px; margin-bottom:10px;">
  6.      <b><a href="video.php?id=$url">".$id."</a></b>
  7.   </div>
  8.   <div id="duracion" style="height:auto; width:180px; margin-bottom:10px;">
  9.      <font size="-2">".$dura."</font>
  10.   </div>
  11. </div>

pero eso dentro del php no me deja meterlo con esas comillas,tendria que remplazarlas por estas '' y sería el mismo código que yo tengo puesto.


Título: Re: problema css y php
Publicado por: bizco en 10 Octubre 2010, 21:33 pm
y pq no especificas el estilo en una hoja de estilo?

#videosentero
{

}

creo q es mas sencillo y luego solo usas el div con el estilo ya definido.


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 21:41 pm
y pq no especificas el estilo en una hoja de estilo?

#videosentero
{

}

creo q es mas sencillo y luego solo usas el div con el estilo ya definido.

pero al fin y al cabo es lo mismo y el error no se soluciona.


Título: Re: problema css y php
Publicado por: bizco en 10 Octubre 2010, 21:54 pm
yo no creo que sea lo mismo, no he leido todo el codigo que pones pq no esta nada organizado. si separas el diseño de la programacion queda todo mas claro para terceros y para ti que tienes que estar mirando. aparte definiendo los estilos en una hoja, si falla solo modificas una vez y se aplica a los demas elementos.

Como te digo no he leido todo el codigo, pero podrias poner un div "contenedor" donde solo se mostraran los videos, dentro de ese "contenedor" cada video se mostrara en un div con estilo predefinido que marcara su separacion de una a otra.


Título: Re: problema css y php
Publicado por: BapeMilo en 10 Octubre 2010, 21:54 pm
te recomiendo que crees un div central con 800px y insertas hay el codigo php y si ves que no funciona ves por tablas


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 22:05 pm
no se puede ya que el while lo que hace es repetir esta cadena

Código
  1. echo "<div id='videos' class='videos'>";
  2. echo "<div id='videos1'>";
  3. echo "<div id='img'><a href='video.php?id=$url'><img height='135' width='180' src='".$name."'/></a></div>";
  4. echo "<div id='nombrevideo'><table width=180><tr><td align=center><b><a href='video.php?id=$url'>".$id."</a></b></tr></td></table></div>";
  5. echo "<div id='dur'><table width=180><tr><td align=center><font size='-2'>".$dura."</font></tr></td></table></div>";
  6. echo "</div></div>";

además de que el codigo entero en php está dentro de una tabla con su width y height correspondientes.


Título: Re: problema css y php
Publicado por: bizco en 10 Octubre 2010, 22:14 pm
Código:
<html>
<head>
<link rel="stylesheet"  href="nada.css" type="text/css">
</head>
<body>
<div class="Contenedor">
<?php
 for($x=0;$x<=27;$x++)
 {
  printf("<div class=\"elemento\">Video %d</div>",$x);
 }
?>
</div> <!-- Contenedor -->
</body>
</html>

Código:
.Contenedor
{
 background-color: red;
 width: 800px;
 height: 500px;
 overflow: hidden;
}

.elemento
{
 position: relative;
 background-color: white;
 border: 2px solid black;
 width: 100px;
 height: 100px;
 margin: 5px auto auto 5px;
 float: left;
}

(http://img411.imageshack.us/img411/8652/nadak.jpg)

he usado esos colores para que veas lo que quiero decir, ya puedes poner dentro todos los videos que quieras que se muestran correctamente. perdon si hay algun fallo pero esta hecho para que entiendas lo que digo.


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 22:26 pm
si sabia lo que querias decir,pero aver,este es el code:

Código
  1. while ($row = mysql_fetch_assoc($rs))
  2.         {
  3.            $name = $row["img"];
  4.            $id = $row["nombre"]."";
  5.            $dura = $row["dur"]."";  
  6.            $url = $row["id"];
  7. echo "<div id='videos' class='videos'>";
  8. echo "<div id='videos1'>";
  9. echo "<div id='img'><a href='video.php?id=$url'><img height='135' width='180' src='".$name."'/></a></div>";
  10. echo "<div id='nombrevideo'><table width=180><tr><td align=center><b><a href='video.php?id=$url'>".$id."</a></b></tr></td></table></div>";
  11. echo "<div id='dur'><table width=180><tr><td align=center><font size='-2'>".$dura."</font></tr></td></table></div>";
  12. echo "</div></div>";
  13.         }

si pongo un div como tu dices es fuera,porque si lo pongo dentro del while se repetiría por cada video y sería un caos,asi queda el code:

Código
  1. echo "<div style='height:auto;width:auto;">;
  2.         while ($row = mysql_fetch_assoc($rs))
  3.         {
  4.            $name = $row["img"];
  5. $id = $row["nombre"]."";
  6. $dura = $row["dur"]."";  
  7. $url = $row["id"];
  8. echo "<div id='videos' class='videos'>";
  9. echo "<div id='videos1'>";
  10. echo "<div id='img'><a href='video.php?id=$url'><img height='135' width='180' src='".$name."'/></a></div>";
  11. echo "<div id='nombrevideo'><table width=180><tr><td align=center><b><a href='video.php?id=$url'>".$id."</a></b></tr></td></table></div>";
  12. echo "<div id='dur'><table width=180><tr><td align=center><font size='-2'>".$dura."</font></tr></td></table></div>";
  13. echo "</div></div>";
  14.         }
  15. echo "</div>";
  16.  

y queda igual que antes,descolocado totalmente:

http://img340.imageshack.us/img340/7172/tupixxx2.jpg


Título: Re: problema css y php
Publicado por: BapeMilo en 10 Octubre 2010, 22:30 pm
mmmmm puedes hacer manualmente indexando la imagen a la url del video


Título: Re: problema css y php
Publicado por: bizco en 10 Octubre 2010, 22:36 pm
Citar
si lo pongo dentro del while se repetiría por cada video y sería un caos

por la imagen entiendo que quieres una galeria de videos, el bucle for que yo puse era por mostrarte X elementos. el propio while que usas para imprimir cada registro lo usas para especificar el div y el contenido sale centrado igual. lo que tienes es un problema de diseño nada mas, si no me crees te pongo con el mismo codigo de antes sacando datos de una tabla y veras que se muestra correctamente.


con el mismo css:

Código:
<html>
<head>
<link rel="stylesheet"  href="nada.css" type="text/css">
</head>
<body>
<div class="Contenedor">
<?php

 require_once("cfg/dbconf.php");
 require_once("inc/db.php");
 
 $db= new DBCore($dbhost,$dbuser,$dbpass,$dbname);
 
 $k=$db->query_get_resource("SELECT name FROM sd_usergroups");
 while($t=mysql_fetch_array($k))
 {
  printf("<div class=\"elemento\">Grupo: %s</div>",$t['name']);
 }
 $db->free($k);
 $db->close();
?>
</div> <!-- Contenedor -->
</body>
</html>

(http://img828.imageshack.us/img828/8161/nada.jpg)

El contenido se muestra de la misma forma. el ejemplo es cutre pero dandole los datos que le des la presentacion es la misma.


por lo demas, puede que algo te rompa el ancho de las tablas y por eso lo ves raro, pero eso ya con el firebug como te comentaron miralo tu pq tienes un codigo demasiado largo y dificil de leer como para decirte este elemento te falla. como consejo te vuelvo a decir que separes el diseño de la programacion, si el dia de mañana quieres hacr un cambio grande solo tienes que modificar el css y el codigo seria igual.


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 23:01 pm
ctlon hice lo siguiente pero me da error,ayudame con tu code please:

Código
  1. <?php
  2. $dbhost = "localhost";
  3. $dbuser = "user";
  4. $dbpass = "pass";
  5. $dbname = "bd";
  6. $db= new DBCore("$dbhost,$dbuser,$dbpass,$dbname");
  7.  
  8. $k=$db->query_get_resource("SELECT * FROM pornstars");
  9. while($t=mysql_fetch_array($k))
  10. {
  11.  printf("<div class=\"elemento\">Grupo: %s</div>",$t['nombre']);
  12. }
  13. $db->free($k);
  14. $db->close();
  15. ?>

Código:
Fatal error: Class 'DBCore' not found in D:\Archivos de programa\AppServ\www\1.php on line 33


Título: Re: problema css y php
Publicado por: bizco en 10 Octubre 2010, 23:06 pm
el codigo tal cual es un ejemplo para que vieses el tema de mostrar el contenido igual sean los elementos que sean, el css te vale pero el php no pq uso unas clases propias por comodidad.

Código:
$db= new DBCore("$dbhost,$dbuser,$dbpass,$dbname");

ahi te sobran las comillas, pero te repito que  a eso ni caso pq no es propio de php.


he mirado la pagina y actualmente se muestran bien los resultados, mira que has cambiado para que se muestre mal y que el contenido no te "rompa" las tablas.


Título: Re: problema css y php
Publicado por: viher en 10 Octubre 2010, 23:24 pm
ya lo solucioné,utilicé el contenedor que me dijiste ctlon y el problema estaba en la tabla del nombre,que si el nombre era más largo ocupaba mas espacio y movia el video de abajo,la solución hacer esa fila más alta.

gracias a todos por la ayuda! y sobre todo a ctlon!

un saludo!


Título: Re: [solucionado] problema css y php
Publicado por: bizco en 10 Octubre 2010, 23:39 pm
estas metiendo mas divs dentro que tb tendras que decirle como quieres que se muestren y luego esta la tabla. no es buena idea mezclar codigo, ponte de 0 en una prueba y creas una galeria cutre asi con divs chorras y colores varios para que veas el tema de las posiciones.

pues nada, me alegro que este solucionado.