Foros del Web » Programando para Internet » PHP »

Imprimir valores en dos columnas y es solo una fila???

Estas en el tema de Imprimir valores en dos columnas y es solo una fila??? en el foro de PHP en Foros del Web. Hola foreros todos. tengo un problema que desde ayer me tiene "entretenido" y vengo por estos lados para ver si alguien me puede dar una ...
  #1 (permalink)  
Antiguo 08/02/2007, 11:30
 
Fecha de Ingreso: diciembre-2004
Mensajes: 41
Antigüedad: 19 años, 3 meses
Puntos: 0
Imprimir valores en dos columnas y es solo una fila???

Hola foreros todos.

tengo un problema que desde ayer me tiene "entretenido" y vengo por estos lados para ver si alguien me puede dar una manito.

Resulta que quiero mostrar unos registros recogidos de una BD a través de un buble en dos columnas, he visto hastos ejemplos por aquí pero con el problema que por cada par de registros genera una nueva fila. Lo que quiero lograr es una fila y solo dos columnas ya que los resultados los muestro con capas DIV

aquí mi código (algunas cosas he sacado desde este sitio para tratar de solucionar este asustito)

Código PHP:
conectar();
$sql = ("SELECT * FROM com_datos") or die (mysql_error()); 
$resultado mysql_query($sql);
$resultado2 $resultado;
echo 
'<table border="0" cellpadding="0" cellspacing="0"><tr><td>'//abro la tabla con su fila y una columna
while($row mysql_fetch_assoc($resultado2)){ //empiezo el bucle
if($x==0){ //muestro el primer estilo de DIV
echo '<div class="class1">'.$row['valor'].'</div>';
$x=1
//por aquí debería cerrar la columna y abrir una nueva </td><td> pero que no se repita :S
else{ //sigo con el segundo estilo de DIV el que quiero en la otra columna
echo '<div class="class2">'.$row['valor'].'</div>';
$x=0
    }
//fin IF 
}//fin while 
echo '</td></tr></table>'//cierro la columna, la fila y la tabla fuera del bucle para que no se repita.. 
El problema es que si quiero una nueva columna debo colocarla dentro del bucle lo que hará que se repita

¿hay alguna solución a este caso?? :S

como les dije, he visto ejemplos pero cada dos columnas se crea una nueva fila y no me sirve.
ojalá entiendan mi telaaraña :D

Te antemano muchas gracias
  #2 (permalink)  
Antiguo 08/02/2007, 12:01
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir valores en dos columnas y es solo una fila???

Código PHP:
echo '<table border="0" cellpadding="0" cellspacing="0">'//abro la tabla con su fila y una columna 
while($row mysql_fetch_assoc($resultado2)){ //empiezo el bucle 
if($x==0){ //muestro el primer estilo de DIV 
echo '<tr><td><div class="class1">'.$row['valor'].'</div></td>'
$x=1;  
//por aquí debería cerrar la columna y abrir una nueva </td><td> pero que no se repita :S 
else{ //sigo con el segundo estilo de DIV el que quiero en la otra columna 
echo '<td><div class="class2">'.$row['valor'].'</div></td></tr>'
$x=0;  
    }
//fin IF  
}//fin while  
echo '</table>'
  #3 (permalink)  
Antiguo 08/02/2007, 12:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 41
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Imprimir valores en dos columnas y es solo una fila???

Gracias andre_cl por responder

Efectivamente la modificacion que hiciste crea dos columnas, pero lamentablemente al estar dentro del bucle cada dos valores mostrados crea una nueva fila.

lo que quiero es que quede un valor por debajo del otro, no importando la longitud del texto ej.
(dos columas y una fila)
Código:
valor1 | valor 2
valor1 | valor 2
valor1 | valor 4
valor3 | valor 4
valor3 | valor 4
valor3 | valor 4
valor3 | valor 6
valor5 | valor 6
Lo que logro con tu modificación es esto

Dos columnas 3 filas

Código:
valor1 | valor 2
valor1 | valor 2
valor1
---------------
valor3 | valor 4
valor3 | valor 4
valor3 | valor 4
valor3 | valor 4
---------------
valor5 | valor 6
       | valor 6
no queda bien ya que no todos los valores tienen la misma longitud, no se si me explico.

saludos y gracias
  #4 (permalink)  
Antiguo 08/02/2007, 14:06
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir valores en dos columnas y es solo una fila???

$imp=0;
echo '<table border="0" cellpadding="0" cellspacing="0">';
while($row = mysql_fetch_assoc($resultado2)){
if($x==0) //ES EL PRIMER DIV
{
echo '<tr><td><div class="class1">'.$row['valor'].'</div></td>';
$x=1;
$imp=1;
}
if($x==1 && $imp=0) //ES EL SEGUNDO DIV
{
echo '<td><div class="class1">'.$row['valor'].'</div></td></tr>';
$x=0;
}
$imp=0;
}
echo '</table>';

PD: $imp corresponde a la variable que almacena si imprimio el registro o no asi evitamos que si imprime el primero, vuelva a imprimir el segundo. obviamente que si cambia $x no imprimira el primero pero si el segundo. =)

Ojala te sirva ahora =)
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 07:03.