Mostrar registros desde Mysql con php

Necesito mostrar los registros de una tabla,

Tengo el siguiente código, pero solo aparece el encabezado de la tabla

$conexion = mysql_connect('host',
'user','*****.');
mysql_select_db('bd',$conexion);

$sql = "select * from tabla";
mysql_query($sql,$conexion);

echo "<table>";
echo "<tr>";
echo "<td>Codigo</td>";
echo "<td>nombre</td>";
echo "<td>fecha</td>";
echo "<td>precio</td>";
echo "</tr>";

$reg =mysql_fetch_array($result,mysql_both);
while($reg)
{
echo"<tr>";
echo"<td>".$reg[0]."</td>";
echo"<td>".$reg[1]."</td>";
echo"<td>".$reg[2]."</td>";
echo"<td>".$reg[3]."</td>";
$reg =mysql_fetch_array($result,mysql_both);
echo"</tr>";
}
echo"</table>";
mysql_close($conexion);

1 respuesta

Respuesta
1

Mañana te miro

Tal como está es que mysql_query no la asignado a una variable.

$conexion = mysql_connect('host',
'user','*****.');
mysql_select_db('bd',$conexion);

$sql = "select * from tabla";
$result= mysql_query($sql,$conexion);

echo "<table>";
echo "<tr>";
echo "<td>Codigo</td>";
echo "<td>nombre</td>";
echo "<td>fecha</td>";
echo "<td>precio</td>";
echo "</tr>";

$reg =mysql_fetch_row($result);
while($reg)
{
echo"<tr>";
echo"<td>".$reg[0]."</td>";
echo"<td>".$reg[1]."</td>";
echo"<td>".$reg[2]."</td>";
echo"<td>".$reg[3]."</td>";
echo"</tr>";
}
echo"</table>";
mysql_close($conexion);

Pero conexión mysql_connect() está obsoleta. Hay que sustituirla por mysqli_connect() de siguiente forma:

$conexion = mysqli_connect("host","user","*****");
mysqli_select_db($conexion, "bd");

$tildes= $conexion->query("SET NAME 'utf8'");

$sql = "select * from tabla";
$result= mysqli_query($conexion, $sql);

echo "<table>";
echo "<tr>";
echo "<td>Codigo</td>";
echo "<td>nombre</td>";
echo "<td>fecha</td>";
echo "<td>precio</td>";
echo "</tr>";

$reg =mysqli_fetch_row($result);
while($reg)
{
echo"<tr>";
echo"<td>".$reg[0]."</td>";
echo"<td>".$reg[1]."</td>";
echo"<td>".$reg[2]."</td>";
echo"<td>".$reg[3]."</td>";
echo"</tr>";
}
echo"</table>";
mysql_close($conexion);

Gracias, madamas que solo me muestra el primer registro  infinidad de veces, 

tengo el codigo asi:

$conexion = mysqli_connect("host",
"user","pass");
mysqli_select_db($conexion,"db");
$tildes=$conexion->query("set name 'utf8'");
$sql = "select * from fundae_af";
$result=mysqli_query($conexion,$sql);

echo "<table>";
echo "<tr>";
echo "<td>Codigo</td>";
echo "<td>Accion</td>";
echo "<td>Modalidad</td>";
echo "<td>Horas</td>";
echo "</tr>";

$reg =mysqli_fetch_row($result);
while($reg)
{
echo"<tr>";
echo"<td>".$reg[0]."</td>";
echo"<td>".$reg[1]."</td>";
echo"<td>".$reg[2]."</td>";
echo"<td>".$reg[3]."</td>";
echo"</tr>";
}
echo"</table>";
mysqli_close($conexion);

Perdona haber tardado en contestar porque acabo de ver el mensaje

El problema que tienes de repetir el primer registro infinitas veces, es porque quise respetar al máximo tu estructura y no hice un cambio importante, que es el siguiente:

$reg =mysqli_fetch_row($result);
while($reg)

Cambiarlo por:  

while($reg= mysqli_fetch_row($result)) 

quedando el código completo asin:

$conexion = mysqli_connect("host",
"user","pass");
mysqli_select_db($conexion,"db");
$tildes=$conexion->query("set name 'utf8'");
$sql = "select * from fundae_af";
$result=mysqli_query($conexion,$sql);
echo "<table>";
echo "<tr>";
echo "<td>Codigo</td>";
echo "<td>Accion</td>";
echo "<td>Modalidad</td>";
echo "<td>Horas</td>";
echo "</tr>";
while($reg= mysqli_fetch_row($result))
{
echo"<tr>";
echo"<td>".$reg[0]."</td>";
echo"<td>".$reg[1]."</td>";
echo"<td>".$reg[2]."</td>";
echo"<td>".$reg[3]."</td>";
echo"</tr>";
}
echo"</table>";
mysqli_close($conexion);

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas