Foros del Web » Programando para Internet » PHP »

Como poner 3 registros en una fila.

Estas en el tema de Como poner 3 registros en una fila. en el foro de PHP en Foros del Web. Hola a todos. Tengo un formulario donde mando 3 campos a una base de datos. Luego al leer de la base de datos, en el ...
  #1 (permalink)  
Antiguo 06/02/2009, 03:04
Avatar de miros84  
Fecha de Ingreso: diciembre-2008
Mensajes: 351
Antigüedad: 11 años
Puntos: 4
Como poner 3 registros en una fila.

Hola a todos. Tengo un formulario donde mando 3 campos a una base de datos. Luego al leer de la base de datos, en el while he puesto mas o menos esto:

echo($row[mail];
print"<br>";
echo($row[nombre];
print"<br>";
echo($row[mensaje];
print"<hr>";

De esta forma me sale un registro, una barra, otra registro, otra barra vertical, etc.
Y asi todos los registros que tengo. Lo que quiero hacer es imprimir 3 registros a la vez en una linea. Es decir uno al lado de otro. Y que luego otros 3 abajo, etc. De 3 en tres. Como debo modificar el codigo? Gracias por su respuestas.

Última edición por miros84; 06/02/2009 a las 07:31
  #2 (permalink)  
Antiguo 06/02/2009, 03:10
 
Fecha de Ingreso: mayo-2007
Mensajes: 348
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: Poner 3 registros en una fila.

echo $row['mail']." | ". $row['nombre']." | ".$row['mensaje'];
echo '<br />';
echo '<hr />';

Saludos.
__________________
Debian Squeeze rules!
  #3 (permalink)  
Antiguo 06/02/2009, 07:27
Avatar de miros84  
Fecha de Ingreso: diciembre-2008
Mensajes: 351
Antigüedad: 11 años
Puntos: 4
Respuesta: Poner 3 registros en una fila.

Creo que me he explicado mal. El nombre, el mail y el mensaje me salen juntos. Esos 3 campos, (nombre, mensaje, mail) que yo los cuento como un rejistro o como una fila ya que en la base de datos están en una fila, me aparecen juntos. Y el proximo registro me aparece abajo. Es decir los seguientes nombre, mail, mensaje. Lo que quiero yo es que me aparescan de 2 en 2 o de 3 en 3. Algo como esto:

Nombre:$nombre | .................................................. ..... Nombre:$nombre
Mail:$mail | .................................................. .................... Mail:$mail
Mensaje:$mensaje | .................................................. ..... Mensaje:$mensaje

(He puesto puntos, porque no me cuenta los espacios)

Ahora simplemente me salen uno debajo del otro:

Nombre:$nombre
Mail:$mail
Mensaje:$mensaje
----------------------------------------------------------------------
Nombre:$nombre
Mail:$mail
Mensaje:$mensaje

Mirad este ejemplo. http://www.pccity.es/index.jsp
En esta pagina salen los articulos no uno debajo de otro. Salen de 2 en dos, 2 debajo de otros 2. Esta es mi idea. Para aprovechar mas el espasio y poner 2 o 3 lecturas de la base de datos juntas en una fila. Alguien tiene idea de como hacerlo?
  #4 (permalink)  
Antiguo 06/02/2009, 09:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 348
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: Como poner 3 registros en una fila.

Pues entonces seria de la primera forma que escribes tu.

Lo demás son divs flotantes con hojas de estilo ( CSS ).
__________________
Debian Squeeze rules!
  #5 (permalink)  
Antiguo 06/02/2009, 11:13
Avatar de miros84  
Fecha de Ingreso: diciembre-2008
Mensajes: 351
Antigüedad: 11 años
Puntos: 4
Respuesta: Como poner 3 registros en una fila.

Con css no creo que se pueda hacer. Hay que hacerlo con php, ya que esto está en el while. Yo lo veo creando 3 <td></td> y en cada td un registro, lueho se crea nueva fila con <tr></tr> y otra vez 3 <td></td>, pero no veo como hacer el codigo. No se si a alguien se le ocurre como hacerlo.
  #6 (permalink)  
Antiguo 06/02/2009, 12:10
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 11 años, 7 meses
Puntos: 5
Respuesta: Como poner 3 registros en una fila.

Hi !

Los saltos de lineas en el mail son los : "\n" (Entre comillas dobles para que se interprete).

Con eso deberias poder ver los saltos de linea en el mail.

Saludos.

P.D: Ahora entendí correctamente :P

Código PHP:
<?php
    $str 
'<table border="1">';
    for (
$i 1$i <= 2$i++ ) {
        
$str.= '<tr>';
        for (
$j 1$j <= 2$j++ ) {
            
$str.= '<td>Este es el TD '.$j.'</td>';
        }
        
$str.= '</tr>';
    }
    
$str.= '</table>';

    echo 
$str;
?>
Obviamente este es un ejemplo sin la levantada de datos, pero tienes que hacer un primer bucle de 2 y el otro de adentro, de 2 tambien... Y listo.

Espero te ayuda!

-ByE-
__________________
--
Mi Portfolio Online! Visitalo!
--

Última edición por Proguri; 06/02/2009 a las 12:16
  #7 (permalink)  
Antiguo 06/02/2009, 14:20
 
Fecha de Ingreso: mayo-2007
Mensajes: 348
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: Como poner 3 registros en una fila.

Cita:
Iniciado por miros84 Ver Mensaje
Con css no creo que se pueda hacer. Hay que hacerlo con php, ya que esto está en el while. Yo lo veo creando 3 <td></td> y en cada td un registro, lueho se crea nueva fila con <tr></tr> y otra vez 3 <td></td>, pero no veo como hacer el codigo. No se si a alguien se le ocurre como hacerlo.
JAJAJAJA <irónico>Eres un genio!</irónico>


Vamos a ver....

Es un bucle, que sacas todos los registros y los vas mostrando en una capa flotante cada una, al ser flotantes ( mientras van saliendo los registros de la base de datos se van posicionando en una capa con dimensiones fijas, por lo que los registros se pondrán a dos columnas al ser elementos flotantes.

Vamos, yo hice algo a lo que quieres tu; y no tuve problemas.

Saludos.
__________________
Debian Squeeze rules!
  #8 (permalink)  
Antiguo 07/02/2009, 14:52
Avatar de miros84  
Fecha de Ingreso: diciembre-2008
Mensajes: 351
Antigüedad: 11 años
Puntos: 4
Respuesta: Como poner 3 registros en una fila.

Trato de hacer eso, pero no me sale. Perdonad mi ignorancia.


$str = '<table border="1">';
for ($i = 1; $i <= 2; $i++ ) {
$str.= '<tr>';
for ($j = 1; $j <= 2; $j++ ) {
$str.= '<td>


print " Ime na potrebitela: ";
echo($row["ime"]);
print " <br>";

print " Email: ";
echo($row["mail"]);
print " <br>";

print " Mensaje: ";
echo($row["mensaje"]);
print " <br>";
print"<hr>";


'.$j.'</td>';
}
$str.= '</tr>';
}
$str.= '</table>';

echo $str;
  #9 (permalink)  
Antiguo 07/02/2009, 15:09
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como poner 3 registros en una fila.

Si ves en el http://www.forosdelweb.com/f18/indice-faqs-php-108208/ verás que hay una FAQ al respecto.

  #10 (permalink)  
Antiguo 08/02/2009, 08:59
Avatar de miros84  
Fecha de Ingreso: diciembre-2008
Mensajes: 351
Antigüedad: 11 años
Puntos: 4
Respuesta: Como poner 3 registros en una fila.

Cita:
Iniciado por Nathan_1979 Ver Mensaje
JAJAJAJA <irónico>Eres un genio!</irónico>


Vamos a ver....

Es un bucle, que sacas todos los registros y los vas mostrando en una capa flotante cada una, al ser flotantes ( mientras van saliendo los registros de la base de datos se van posicionando en una capa con dimensiones fijas, por lo que los registros se pondrán a dos columnas al ser elementos flotantes.

Vamos, yo hice algo a lo que quieres tu; y no tuve problemas.

Saludos.
Hola. Lo hize como me dijiste y me salió. Muchas gracias por la idea.
  #11 (permalink)  
Antiguo 08/02/2009, 09:02
Avatar de miros84  
Fecha de Ingreso: diciembre-2008
Mensajes: 351
Antigüedad: 11 años
Puntos: 4
Respuesta: Como poner 3 registros en una fila.

[QUOTE=Proguri;2778302]Hi !


P.D: Ahora entendí correctamente :P

Código PHP:
<?php
    $str 
'<table border="1">';
    for (
$i 1$i <= 2$i++ ) {
        
$str.= '<tr>';
        for (
$j 1$j <= 2$j++ ) {
            
$str.= '<td>Este es el TD '.$j.'</td>';
        }
        
$str.= '</tr>';
    }
    
$str.= '</table>';

    echo 
$str;
?>
Hola. Lo intenté hacer asi, pero no lo conseguí. Hay que modificarlo para poder sacar 2,3 registros o mas de 4.
  #12 (permalink)  
Antiguo 08/02/2009, 11:04
 
Fecha de Ingreso: mayo-2007
Mensajes: 348
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: Como poner 3 registros en una fila.

Cita:
Iniciado por miros84 Ver Mensaje
Hola. Lo hize como me dijiste y me salió. Muchas gracias por la idea.
Nada, un placer.

Saludos.
__________________
Debian Squeeze rules!
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 23:38.