Foros del Web » Creando para Internet » CSS »

formato para un echo

Estas en el tema de formato para un echo en el foro de CSS en Foros del Web. Buenas. Estoy empezando con CSS y necesito hacer unas tareas. El caso es que no consigo que funcione el siguiente código: foreach($personas as $persona) { ...
  #1 (permalink)  
Antiguo 09/02/2012, 06:16
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 3
formato para un echo

Buenas.
Estoy empezando con CSS y necesito hacer unas tareas. El caso es que no consigo que funcione el siguiente código:

foreach($personas as $persona)
{
if ($persona['sexo'] == "mujer" )
$persona['nombre'] = "DOÑA " .$persona['nombre'];
else
$persona['nombre'] = "DON " .$persona['nombre'];

echo '<span style="font-size:16px;background-color:#8B0000;color:#FFE4B5"> ||'.$persona['sexo'].
'<span style="font-size:16px;background-color:#8B0000;color:#FFE4B5"> ||'.$persona['nombre'].
'<span style="font-size:16px;background-color:#8B0000;color:#FFE4B5;position:absolute;left :230"> ||'.$persona['apellidos'].
'</span><br/>';
}

Necesito darle formato al ECHO, concretamente mostrar en una columna la variable .$persona[sexo], al lado otra columna con .$persona[nombre] y por ultimo otra con .$persona[apellidos]
Estaba intendando hacerlo sin crear tabla, poniendo simplemente márgenes. El caso es que no consigo que la columna DON XXX o DOÑA XXX salga recta. He probado a poner otro Position:absolute/relative para esa columna, pero me salía todo descuadrado.
Con el código actual me queda así:
http://desmond.imageshack.us/Himg808/scaled.php?server=808&filename=pantallazoen.png&re s=medium

Algún consejo para centrar la columna Nombre? Gracias
  #2 (permalink)  
Antiguo 09/02/2012, 10:59
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 10 meses
Puntos: 306
Respuesta: formato para un echo

Hola
Me parece que deberías usar una tabla, ya que es para esto que se han creado las tablas, es decir datos tabulados.

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #3 (permalink)  
Antiguo 09/02/2012, 11:46
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: formato para un echo

mm, pero puedo combinar una tabla con span o divs?Lo de la tabla ya lo había pensado para sacar las 3 variables por columnas, pero al tener que hacerlo obligatoriamente con DIV o SPAN pues estoy aquí bloqueado... :(
Me podrías poner un ejemplo de tabla y div para ver como sería? Los tutoriales que he mirado (que no son pocos) trabajan con un archivo externo .css en el que guardan los estilos . Yo necesito hacerlo sin archivo externo, pero estoy pez en CSS
Lo unico que quiero es que salga así:
$persona[sexo] || $persona[nombre] || $persona[apellidos]
-------- --------- ----------
-------- --------- ----------
  #4 (permalink)  
Antiguo 09/02/2012, 12:25
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 10 meses
Puntos: 306
Respuesta: formato para un echo

Bien, entonces habrá que simular una tabla con div o span.
Una alternativa, sin usar display: table etc.
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  2. <title>Documento sin título</title>
  3. #tabla{
  4.     width:600px;
  5.     border:1px solid #666;
  6.     font-size:16px;
  7.     color:#FFE4B5;
  8.     background:#CCC;
  9.     }
  10. #fila{
  11.     height:30px;
  12.     width:100%;
  13.     clear:left;
  14.     border:1px solid #0C9;
  15.     }  
  16. #sexo, #nombre, #apellido
  17.     {
  18.     background-color:#8B0000;
  19.     margin:1px;
  20.     padding:2px;
  21.     }
  22. #sexo{
  23.     float:left;
  24.     width: 80px;
  25.     }
  26. #nombre{
  27.     width: 250px;
  28.     float:left;
  29.     }  
  30.  
  31. #apellido{
  32.     float:left;
  33.     width: 250px;
  34.         }  
  35.  
  36.  
  37. </head>
  38.  
  39.  
  40. <div id="tabla">
  41.  
  42. <p id="fila">
  43. <span id="sexo">Hombre </span>
  44. <span id="nombre">Marcelo José</span>
  45. <span id="apellido"> Arraymonn Juarez</span>
  46. </p>
  47.  
  48. <p id="fila">
  49. <span id="sexo">Mujer </span>
  50. <span id="nombre">Marcelo José</span>
  51. <span id="apellido"> Arraymonn Juarezasasasasa</span>
  52. </p>
  53. <p id="fila">
  54. <span id="sexo">Hombre </span>
  55. <span id="nombre">Marcelo José Antonio</span>
  56. <span id="apellido"> Arraymonn </span>
  57. </p>
  58.  
  59. <p id="fila">
  60. <span id="sexo">Hombre </span>
  61. <span id="nombre">Marcelo José</span>
  62. <span id="apellido"> Arraymonn Juarez</span>
  63. </p>
  64.  
  65. <p id="fila">
  66. <span id="sexo">Mujer </span>
  67. <span id="nombre">Marcelo José</span>
  68. <span id="apellido"> Arraymonn Juarezasasasasa</span>
  69. </p>
  70. <p id="fila">
  71. <span id="sexo">Hombre </span>
  72. <span id="nombre">Marcelo José Antonio</span>
  73. <span id="apellido"> Arraymonn </span>
  74. </p>
  75.  
  76. </div>
  77. </body>
  78. </html>

Investiga sobre display:table

Los estilos que están en un archivo externo .css o que están es el encabezado (ejemplo que te dí) también pueden ir en estilos en linea dentro de cada etiqueta, solo debes poner los que corresponden a cada elemento en particular.
Es necesario aclarar que esto de poner <etiqueta style "blabla" no es aconsejable, porque rompe con el esquema de separación de diseño-contenido. Además estás usando php, lo cual añade mas enredo a toda la situación. Cuando tengas que cambiar algo será un dolor de cabeza.

Manuales css puedes encontrar en www.librosweb.es

Si te están enseñando así, pues la verdad no es la mejor manera de aprender. Si en cambio solo se trata de un ejercicio para aplicar los conocimientos y ver de las posibilidades del css, pues bien.

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--

Última edición por C2am; 09/02/2012 a las 12:32
  #5 (permalink)  
Antiguo 09/02/2012, 13:48
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: formato para un echo

Muchisimas gracias por tu ayuda C2am. Probaré eso que me has puesto y te digo en cuanto tenga algo, pero vamos que con eso, aunque no esté perfecto, me apaño seguro XD
Con respecto al tema de aprendizaje, no es que me estén enseñando así, es simplemente que estoy haciendo las practicas del Ciclo superior de Inform. el de programación y entonces pues estoy viendo por encima algo de todo. El problema es que en el ciclo no dimos NADA de programación web, y estoy pez en este asunto. Afortunadamente de C controlo algo asique php no me resulta tan complicado, pero la parte de diseño ya... es otra historia :) Hasta ahora he visto bastante de HTML para hacer cosas básicas y bastante de php, y ahora toca algo por encima el diseño y aquí me estoy chocando contra todo XDD
  #6 (permalink)  
Antiguo 09/02/2012, 17:12
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: formato para un echo

Si vas a terminar usando una tabla, dale formato a las celdas, no necesitas de los span o elementos auxiliares

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 10/02/2012, 05:36
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: formato para un echo

Muchas gracias a ambos. Al final lo conseguí hacer de las dos formas, creando estilos en cabecera etc, y de manera simple con unos divs básicos. Aquí os dejo como me quedó con los divs Hasta la próxima

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ArraysAsoc y Divs</title>
</head>

<body>
<?php
// Declaro un array asociativo llamado $PERSONAS y le introduzco 5 arrays para 5 personas.
$personas = array (
array ('nombre' => 'Juan', 'apellidos' => 'S&aacute;nchez Vilar', 'sexo' => 'Hombre'),
array ('nombre' => 'Ana', 'apellidos' => 'Mart&iacute;nez Gonz&aacute;lez', 'sexo' => 'Mujer' ),
array ('nombre' => 'Maria', 'apellidos' => 'Corbelle Marin', 'sexo' => 'Mujer' ),
array ('nombre' => 'Miguel', 'apellidos' => 'Garc&iacute;a Montero', 'sexo' => 'Hombre'),
array ('nombre' => 'Jose', 'apellidos' => 'Novo Foz', 'sexo' => 'Hombre'),
);

// Añado dos personas nueva al array.
$personas[] = array ("nombre" => "Sonia", "apellidos"=> "Mosquera Arazal", "sexo"=>"Mujer");
$personas[] = array ("nombre" => "Daniel", "apellidos"=> "Santos Varela", "sexo"=> "Hombre");

// Muestro el titulo del ejercicio
echo '<div style="border:#FFE4B5 1px solid;width:604px;float:center;text-align:center;font-size:16px;background-color:#8B0000;color:#FFE4B5"> N&Uacute;MERO DE PERSONAS { '.count($personas).' } </div>
<div style="clear:left"></div>';

// Recorro el array completo.
foreach($personas as $persona)
{
if ($persona['sexo'] == "mujer" )
$persona['nombre'] = "DO&Ntilde;A " .$persona['nombre'];
else
$persona['nombre'] = "DON " .$persona['nombre'];

// Muestro el array completo
echo '<div style="border:#FFE4B5 1px solid;width:200px;float:left;font-size:16px;background-color:#8B0000;color:#FFE4B5"> '.$persona['sexo']. '</div>
<div style="border:#FFE4B5 1px solid;width:200px;float:left;font-size:16px;background-color:#8B0000;color:#FFE4B5"> '.$persona['nombre']. '</div>
<div style="border:#FFE4B5 1px solid;width:200px;float:left;font-size:16px;background-color:#8B0000;color:#FFE4B5"> '.$persona['apellidos']. '</div>
<div style="clear:left"></div>';
}
?>
</body>
</html>

Etiquetas: echo, formato
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 04:25.