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.
Simple cambia tu code un poco
<?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..
$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:
$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.
Cita de: agente_naranja en 27 Julio 2007, 12:41 PM
$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
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.
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
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):
<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>
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!!