Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

¿como presentar por pantalla los últimos 3 registros?

Estas en el tema de ¿como presentar por pantalla los últimos 3 registros? en el foro de Bases de Datos General en Foros del Web. Hola tenía una duda, ¿como puedo presentar por pantalla los últimos 3 registros? hay alguna función que cuente el número de registros que hay? y ...
  #1 (permalink)  
Antiguo 15/07/2004, 05:06
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 0
¿como presentar por pantalla los últimos 3 registros?

Hola tenía una duda, ¿como puedo presentar por pantalla los últimos 3 registros? hay alguna función que cuente el número de registros que hay? y de ahi con un for mostrar sólo los últimos 3 registros, o como se podría hacer.

También me gustaría hacer que cuando se hiciera click a ese registro, aparecería una ventana donde se mostarán todos los demás campos de ese registro.

En concreto lo que estoy intentando hacer es un sistema de ofertas en el que en la página principal se mostrará el titulo de las últimas 3 ofertas y cuando se haga click a cada oferta aparezca otra ventana donde aparecerán los detalles de cada oferta.

Alguien me pude guiar de como hacerlo?
  #2 (permalink)  
Antiguo 15/07/2004, 05:20
Avatar de peloteitor  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 849
Antigüedad: 20 años, 5 meses
Puntos: 1
hay una funcion (top creo que se llama) que saca los primeros n registros.
lo que tienes q hacer es ordenar descendentemente la tabla y llamar a esa funcion.
__________________
El sexo sin amor es una experiencia vacía. Pero como experiencia vacía es una de las mejores.

Woody Allen
  #3 (permalink)  
Antiguo 16/07/2004, 03:05
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 0
pregunta sobre la funcion top esa

el problema que yo tengo es q a parte de ser novato en esto. Mi bs solo tiene 3 campos, el titulo, la descripción y el precio, a l no tener un identificador autoincrementable o fecha, creo que top no me valdrá.
Tu sabes si cuando insertas, se ordenan alfabéticamente los resultados? o se insertan en el orden que vamos insertando?
Yo he estado intentando hacer lo siguiente:

$db=mysql_connect(.................);
mysql_select_db(..........);
$query="Select tit From ofertas";
$result=mysql_query($query);
$num_filas=mysql_num_rows($result);
//con num_rows obtengo el número de filas
//Mostramos los registros
$row=mysql_fetch_array($result);
for($i=$num_filas;$i>($num_filas-3);$i--)
{
echo"<table>";
echo"<tr>";
echo'<td >'. $row["tit"].'</b><br>';
echo"</td>";
echo"</tr>";
echo"</table>";
}
mysql_free_result($result);

Voy bien encaminado, o esto no hace nada?
  #4 (permalink)  
Antiguo 16/07/2004, 03:13
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 0
he probado lo siguiente y funciona, pero....

$db=mysql_connect(................);
mysql_select_db(..............);
$query="Select tit From ofertas order by tit desc limit 4";
$result=mysql_query($query);
//$num_filas=mysql_num_rows($result);
//Mostramos los registros
$row=mysql_fetch_array($result);
while ($row=mysql_fetch_array($result))
{
echo"<table>";
echo"<tr>";
echo'<td class=Indented1 vAlign=top><a href ="ver_oferta.php" TITLE="Visualizar la oferta"><b>'. $row["tit"].'</b><br>';
echo"</a><br>";
echo"</td>";
echo"</tr>";
echo"</table>";
}
mysql_free_result($result);

Pero ahora el problema que tengo es que me muestra los 3 últimos registros cualesquiera, pero no en el orden de inserción. Alguién sabe como hacer que no los ordene al insertarlo?
  #5 (permalink)  
Antiguo 16/07/2004, 03:19
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 0
otro problema que me he dado cuenta

es que cuando hay 3 registros, muestra sólo dos y no los 3...
pero bueno el principal problema es eso, que no me los muestra en el orden de inserción.
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 11:27.