Foros del Web » Programando para Internet » PHP »

Como mostrar campos ordenados en columnas

Estas en el tema de Como mostrar campos ordenados en columnas en el foro de PHP en Foros del Web. Qusiera saber como puedo hacer para que, al listar ciertos campos de todos los registros que estan en la base de datos, los liste ordenados ...
  #1 (permalink)  
Antiguo 15/03/2008, 12:36
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Como mostrar campos ordenados en columnas

Qusiera saber como puedo hacer para que, al listar ciertos campos de todos los registros que estan en la base de datos, los liste ordenados en columnas, por ejemplo, la consulta que hago es para que muestre los campos "patente" y "seguro" de todos los registros que estan en la base de datos, pero quiero que me los muestre separado en dos columnas, una para las patentes y otra para los seguros (tambien tendria que poner los respectivos titulos a las columnas osea patente y seguro), bueno aca dejo el codigo que hago para el listado, muchas gracias
Código PHP:
<h3>Listado de patentes y seguros de todos los registros</h3>

<?

$db
=mysql_connect ("localhost""root""pass") or die ('<br>No me puedo conectar con el servidor porque: ' mysql_error());

mysql_select_db ("autos");
 
 
$query="SELECT patente,seguro FROM seguro";
 
$resultadomysql_query ($query);
 
$num_filas=mysql_num_rows($resultado);
 echo 
"Cantidad de registros encontrados: ".$num_filas."<p>";
 
 for (
$i=0$i<$num_filas$i++) {
    
     
$row mysql_fetch_array($resultado);
     echo 
$row["patente"];
     echo 
$row["seguro"];
}  

?>
<p>
<a href="default.html">Volver a la pagina del formulario</a>
En este caso, mostraria todo junto y pegado, mostraria las patentes y seguros uno pegado al otro.
Por las dudas aclaro que tiene un titulo en html y un link para volver a donde esta el formulario.

Última edición por Durin; 15/03/2008 a las 14:44
  #2 (permalink)  
Antiguo 15/03/2008, 12:48
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Re: Como mostrar campos ordenados en columnas

Puedes mostrar los datos en una tabla, con filas de 2 celdas, una para la patente y otra para el seguro. Antes del for abres la tabla y pones la fila con los titulos, y dentro del ciclo nomas vas agregando las filas con los datos en cada celda :)
  #3 (permalink)  
Antiguo 15/03/2008, 15:33
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Perdon por insistir, pero no se como hacer la tabla dentro de php
  #4 (permalink)  
Antiguo 15/03/2008, 15:43
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Lo he solucionado, mejor dicho "en parte", ahora el problema es que aparecen bastante juntas las columnas ( lo solucione al poner cellspacing='15', pero me gustaria que la segunda columna este mas al medio de la pagina) y nose por que el link que te lleva de regreso al formulario aparece arriba de la tabla y dividido en dos, como si estuviese dentro de la tabla, este es el codigo:
Código PHP:
<h3>Listado de patentes y seguros de todos los registros</h3>
<a href="default.html">Volver a la pagina del formulario</a>
<p>
<?

$db
=mysql_connect ("localhost""root""pass") or die ('<br>No me puedo conectar con el servidor porque: ' mysql_error());

mysql_select_db ("autos");
 
 
$query="SELECT patente,seguro FROM seguro";
 
$resultadomysql_query ($query);
 
$num_filas=mysql_num_rows($resultado);
 echo 
"Cantidad de registros encontrados: ".$num_filas."<p>";

echo 
"<table border = '0' cellspacing='15'>";
echo 
"<tr>";
echo 
"<td><b><u>Patente</u></b></td>";
echo 
"<td><b><u>Seguro</u> </b></td>";
echo 
"</tr> \n";

 for (
$i=0$i<$num_filas$i++) {
    
     
$row mysql_fetch_array($resultado);
     
echo 
"<tr> \n";
echo 
"<td>".$row["patente"]."</td>";
echo 
"<td>".$row["seguro"]."</td>";

}  

?>
Y si cierro la tabla, nose porque queda desalineada, muestra bien los dos primeros registros y despues quedan todos pegados del segundo registro.
Lo del link lo "solucione" poniendolo arriba, antes de mostrar la tabla

Última edición por Durin; 15/03/2008 a las 16:30
  #5 (permalink)  
Antiguo 15/03/2008, 16:53
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Re: Como mostrar campos ordenados en columnas

Has cerrado la tabla con echo "</tr></table>" ?????
  #6 (permalink)  
Antiguo 15/03/2008, 16:57
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Re: Como mostrar campos ordenados en columnas

Prueba asi:


Código PHP:

echo "<table border = '0' cellspacing='15'>"
echo 
"<tr>"
echo 
"<td><b><u>Patente</u></b></td>"
echo 
"<td><b><u>Seguro</u> </b></td>"
echo 
"</tr> \n"
echo 
"</table>";
 for (
$i=0$i<$num_filas$i++) { 
     
     
$row mysql_fetch_array($resultado); 

echo 
"<table border = '0' cellspacing='15'>";      
echo 
"<tr> \n"
echo 
"<td>".$row["patente"]."</td>"
echo 
"<td>".$row["seguro"]."</td>"
echo 
"</tr> \n"
echo 
"</table>";

  #7 (permalink)  
Antiguo 15/03/2008, 17:10
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 5 meses
Puntos: 59
Re: Como mostrar campos ordenados en columnas

Hola Durin, prueba así

Código PHP:
<table border="1" sumary="Listado de patentes y seguros">
<tr>
<th>Patente</th>
<th>Seguro</th>
</tr>
<?php
while ($row mysql_fetch_array($resultado)){
    foreach (
$row as $row){
        echo 
'<tr>';
        echo 
'<td>'.$row['patente'].'</td>';
        echo 
'<td>'.$row['seguro'].'</td>';
        echo 
'</tr>';
    }
}
?>
</table>
<a href="default.html">Volver a la pagina del formulario</a>
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"

Última edición por lucasan; 15/03/2008 a las 17:14 Razón: Tenia un error
  #8 (permalink)  
Antiguo 15/03/2008, 17:14
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Re: Como mostrar campos ordenados en columnas

si, la verdad, mes mejor lo que dice lucasan de usar WHILE
  #9 (permalink)  
Antiguo 17/03/2008, 09:46
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Probe la forma que me dijiste Jaronu y queda desalineado las celdas de la tabla, o sea hice las dos tablas por separado y queda desalineada ( y he puesto para cerrar el TR y el TABLE), y tambien utilize la forma que decia Lucasan con el while y nose por que solamente una letra por celda?

Última edición por Durin; 17/03/2008 a las 10:20
  #10 (permalink)  
Antiguo 17/03/2008, 10:19
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 5 meses
Puntos: 59
Re: Como mostrar campos ordenados en columnas

Puedes poner una muestra de loq ue te sale? porque no entiendo lo de una letra por celda.

Saludos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #11 (permalink)  
Antiguo 17/03/2008, 10:56
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 5 meses
Puntos: 59
Re: Como mostrar campos ordenados en columnas

Ok, ya lo arreglé y lo probé, da justo como lo necesitas, lo único que debes ajustar es el ancho de las celdas.

Código PHP:
<table border="1" sumary="Listado de patentes y seguros">
<tr>
<th>Patente</th>
<th>Seguro</th>
</tr>
<?php
while ($row mysql_fetch_array($resultado)){
        echo 
'<tr>';
        echo 
'<td>'.$row['patente'].'</td>';
        echo 
'<td>'.$row['seguro'].'</td>';
        echo 
'</tr>';
    }

?>
</table>
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #12 (permalink)  
Antiguo 17/03/2008, 11:15
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Listado de patentes y seguros de todos los registros
Cantidad de
registros
encontrados: 2
Patente Seguro
e e
e e
2 2
2 2
p p
p p
1 1
1 1

Volver a la pagina del formulario


Nose por que es como que se duplica el primer caracter de la patente y lo muestra en la columna de patente y seguro , a su vez el valor de seguro hace lo mismo. Aca se ve que las letras que van en la segunda columna estan en la primera, pero en la pagina lo hace bien, aparece en la segunda columna
  #13 (permalink)  
Antiguo 17/03/2008, 11:41
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 5 meses
Puntos: 59
Re: Como mostrar campos ordenados en columnas

Si, yo vi el mismo error, pero ponlo como te lo corregí, ya lo probé y está bien.

Saludos
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #14 (permalink)  
Antiguo 17/03/2008, 12:21
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Muchas gracias, ahora si funciona correctamente, lo unico que me faltaria arreglar es para que el mensaje "Cantidad de registros encontrados:" no aparezca dentro de la tabla, ya que cuando muestra el mensaje las palabras aparecen una debajo de la otra, seria esta linea:
Código PHP:
echo "Cantidad de registros encontrados: ".$num_filas."<p>"
  #15 (permalink)  
Antiguo 17/03/2008, 12:34
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 5 meses
Puntos: 59
Re: Como mostrar campos ordenados en columnas

Ponlo por fuera de la Tabla.

Todo lo que esté dentro de <table></table> te va a quedar adentro, así que no pongas nada mas ahi.

Código PHP:
<?php echo "<p>Cantidad de registros encontrados: ".$num_filas."</p>";   ?>
<table border="1" sumary="Listado de patentes y seguros">
<tr>
<th>Patente</th>
<th>Seguro</th>
</tr>
<?php
while ($row mysql_fetch_array($resultado)){
        echo 
'<tr>';
        echo 
'<td>'.$row['patente'].'</td>';
        echo 
'<td>'.$row['seguro'].'</td>';
        echo 
'</tr>';
    }

?>
</table>
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #16 (permalink)  
Antiguo 17/03/2008, 12:44
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Pero si pongo el echo fuera del codigo php, me muestra la linea en pantalla
  #17 (permalink)  
Antiguo 17/03/2008, 12:54
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 5 meses
Puntos: 59
Re: Como mostrar campos ordenados en columnas

Si notas, lo he encerrado también entre <?php y ?>

Algo importante es que la consulta y demás la hagas al principio

Ej:

Código PHP:
<?php //abres para el codigo php

Aqui pones la Conexion a la BDconsulta y demás cosas

echo "<p>Cantidad de registros encontrados: ".$num_filas."</p>"
//cierras el php para poder iniciar el html 
?> 

<table border="1" sumary="Listado de patentes y seguros">
<tr>
<th>Patente</th>
<th>Seguro</th>
</tr>
<?php //abres de nuevo el php
while ($row mysql_fetch_array($resultado)){
        echo 
'<tr>';
        echo 
'<td>'.$row['patente'].'</td>';
        echo 
'<td>'.$row['seguro'].'</td>';
        echo 
'</tr>';
    }

// cierras 
?>
</table>
Cuando tu abres y cierras las etiquetas php y mas adelante las abres de nuevo, php hace como si nunca se hubieran cerrado, es decir, ignora el html o demás que haya por fuera y hace de cuenta que solo hay codigo php.

Me hago entender?

Date una leida a algún manual de PHP, aprenderás mucho acerca de la sintaxis y la forma de embeberlo en Html.

Saludos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #18 (permalink)  
Antiguo 17/03/2008, 13:41
Avatar de Durin  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina-Santa fe-Funes
Mensajes: 93
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Como mostrar campos ordenados en columnas

Muchisimas gracias, ahora si funciona correctamente.
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 21:54.