Cómo mostrar resultados en columnas

Iniciado por Fireball-CH, 27 Julio 2007, 03:29 AM

0 Miembros y 1 Visitante están viendo este tema.

Fireball-CH

Hola a todos!
Tengo una duda:
Tengo 4 usuarios registrados en una base de datos y quiero mostrar sus nombres en una tabla que tiene 1 fila y 4 columnas (1 nombre de usuario en cada columna), cómo puedo hacer eso?

Si yo hiciera esto:

<?php
$sql = "SELECT Usuario FROM Registro";
$result = @mysql_query($sql);
?>
<table width="85%" border="0">
<?php
while($row = mysql_fetch_array($result))
{
  $usuario = $row['Usuario'];
?>
  <tr>
    <td><?php echo $usuario; ?></td>
    <td><?php echo $usuario; ?></td>
    <td><?php echo $usuario; ?></td>
    <td><?php echo $usuario; ?></td>
  </tr>
<?php
}
?>
</table>

me mostraría el mismo nombre de usuario en las 4 columnas, verdad?

Bueno, espero que me haya explicado y puedan ayudarme. Gracias.
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

coolfrog

Simple cambia tu code un poco
Código (php) [Seleccionar]
<?php
$sql 
"SELECT Usuario FROM Registro";
$result = @mysql_query($sql);
?>

<table width="85%" border="0">
<tr>
<?php
while($row mysql_fetch_array($result))
{
  
$usuario $row['Usuario'];
?>

    <td><?php echo $usuario?></td>
<?php
}
?>

</tr>
</table>


Saludos..

Agente Naranja

Código (php) [Seleccionar]
$result = @mysql_query($sql);

No recomendado. Personalmente le tengo un poco de mala maña al "@" porque muchas veces no te muestra errores graves que pueden hacer que el script deje de funcionar. Yo personalmente preferiría:

Código (php) [Seleccionar]
$result = mysql_query($sql);
if(isset($result)){
  //Codigo para situacion de exito.
}else{
print "No se puede conectar a la base de datos:<br/>".mysql_error();
}



mysql_error() te explica el error que pueda presentarse, y es bastante explícito o sea que te puede ayudar más que simplemente ignorar el error olímpicamente.

Sanjuu

Cita de: agente_naranja en 27 Julio 2007, 12:41 PM
Código (php) [Seleccionar]
$result = @mysql_query($sql);

No recomendado. Personalmente le tengo un poco de mala maña al "@" porque muchas veces no te muestra errores graves que pueden hacer que el script deje de funcionar.

Me sumo a esto aunque yo prefiero hacer un

Código (php) [Seleccionar]
mysql_query($consulta) or die("mensaje error");

De esta forma evitas que te cargue el resto de la página que puede depender de la consulta y provocar más errores.

Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();

Fireball-CH

agente_naranja sí tienes razón!
Pero puse así el código por escribir rápido, olvidé lo demás.

Yo le hago como dice Sanjuu:
$result = @mysql_query($sql)
  or die("Hubo un error con la consulta.");

Gracias a los dos.

coolfrog, tal vez no me expliqué. Según el código que pusiste lo que va a hacer es crear varios <td></td> en una sola fila, y lo que yo quiero es que haya 4 <td></td> en una fila.
Lo que yo quiero es que cree 1 <tr> y 4 <td></td> luego que cierre </tr> y se pase al siguiente <tr>... sí me expliqué? :P

Quiero que haya 4 nombres de usuario en una fila, luego que se pase a la siguiente fila y que ponga otros 4, luego otra vez a la siguiente fila y otros 4, y así sucesivamente. :D
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

Sanjuu

Cita de: Fireball-CH en 30 Julio 2007, 02:30 AM
Quiero que haya 4 nombres de usuario en una fila, luego que se pase a la siguiente fila y que ponga otros 4, luego otra vez a la siguiente fila y otros 4, y así sucesivamente. :D

Prueba con esto (no lo he probado pero es la idea):

Código (php) [Seleccionar]

<tr>
<?php

$centinela 
1;
while(
$row mysql_fetch_array($result)){
  echo 
'<td>'.$row['Usuario'].'</td>';
  if(
$centinela == 4){
       echo 
'</tr><tr>';
       
$centinela 1;
  }
  
$centinela++;
}
?>

</tr>

Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();

Fireball-CH

Eso es, Sanjuu!! :D
Sí funciona, nada más es cosa de modificar un poco el código, porque algunas veces la tabla se verá deforme, no se si me explico... (para que se entienda, pon ese código y pon la tabla de 1 border).
Muchas gracias!!
Saludos!!
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd