Tengo problemas para recuperar algunos códigos en una página diseñada en PHP.

Hola amigos Todoexpertos, estoy empezando en php y en una página tengo un código php que debe ingresar a una base de datos llamada afines_w donde hay una tabla llamada empresas (con los campos código, nombre, oferta, mail, lugar y otros) en el debe recuperar los registros para los campos código, nombre, oferta y lugar, el código esta a continuación y parece estar todo correcto pero cuando lo pruebo no funciona... (los datos de usuario y contarseña para la conexión son correctos)..
<?php
$conexion=mysql_connect("localhost","fondo","12345")
  or  die("Problemas en la conexion");
mysql_select_db("afines_w",$conexion)
  or  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select codigo, nombre, oferta, lugar
                       from empresas",$conexion) or
  die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
  echo "Codigo:".$reg['codigo']."<br>";
  echo "Nombre:".$reg['nombre']."<br>";
  echo "Oferta:".$reg['oferta']."<br>";
  echo "Lugar:".$reg['lugar']."<br>";
  echo "<br>";
  echo "
<hr>
";
}
mysql_close($conexion);
?>
¿Suponiendo qué encontremos el error podrían darme una pista para recuperar solo los últimos 10 registros de la tabla? (Empezando por el ultimo)..
Bueno gracias al valiente...
{"Lat":43.3411600541231,"Lng":-1.78939819335938}

1 Respuesta

Respuesta
1
Creo que hay algo mal en la consulta, aunque igual y no he probado tu código pero te propongo que utilices este que a mi me ha servido mucho:
<?php
echo"
<h1><center>RESULTADOS</h1>
</center>";
$link = mysql_connect('nombre_del_servidor','usuario','contraseña');
    $db_selected = mysql_select_db('nombre_base_de_datos' , $link);
$consulta='SELECT codigo, nombre, oferta, lugar  FROM empresas';
$query=mysql_query($consulta);
echo'
<table align=center border=1 cellspacing=5>
';
echo'
<td>CODIGO</td>
';
echo'
<td></td>
';
echo'
<td>NOMBRE</td>
';
echo'
<td></td>
';
echo'
<td>OFERTA</td>
';
echo'
<td></td>
';
echo'
<td>LUGAR</td>
';
echo'
<td></td>
';
while ($reg=mysql_fetch_row($query))
{
echo'
<tr>
';
foreach($reg as $cambia)
{
echo'
<td>', $cambia, '
<td>';
}
}
echo'
</table>
';
$numreg=mysql_num_rows($query);
print('REGISTROS MOSTRADOS:  '.''.$numreg);
echo"
<h1><center>by: bOrgiR</h1>
</center>";
?>
Hola Borgir Saludos..! Y genial hombre, el código funciona correctamente..! Y no quiero abusar pero me viene bien la ayuda de un experto, ¿sabrías cómo delimitar el código para que me deje solo los últimos 10 registros? yo intente agregarle un where al select:
where codigo between count(*)-10 and count(*);
Como soy nuevo... tal vez sea una especulación... bueno igual no m da resultado. ¿Me das una pista Borgir?.. igual espero que tengas un día genial...!
Andres
Mmm... para poder zacar los últimos 10 registros o los primeros 10 como quiera que sea, va a ser necesario que tengas algún distintivo en la tabla con el que podamos extraer esos registros, por ejemplo un id autoincrementable que seria lo más lógico y común y hacer una consulta más o menos como esta:
SELECT campo1, campo2, campo3 FROM tabla ORDER BY "aqui va la columna del id o el distintivo para cada campo" DESC LIMIT 10.
Lo que hace esta consulta es seleccionar tus campos de una tabla y ordenarlos en forma descendinte (suponiendo que queremos rescatar los últimos 10 registros ingresados) de acuerdo al id (distintivo de cada campo) y con el LIMIT desimos que solo nos arroje los primeros 10 registros.
Me doy por muy bien servido Borgir, muy agradecido por tu esfuerzo con ese ultimo dato creo poder solucionar mi problema.. ya t lo comentare..
Agradecido nuevamente
andres

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas