Hola, quisiera saber como sacar los 10 ultimos registros de una base de datos y los 10 mas visitados ( consultados )...
Alguna sugerencia ????
Muchisimas gracias!!!
| |||
Ultimas 10 registros o 10 mas vistos Hola, quisiera saber como sacar los 10 ultimos registros de una base de datos y los 10 mas visitados ( consultados )... Alguna sugerencia ???? Muchisimas gracias!!!
__________________ ..:: Fr@n!! ::.. |
| |||
Uff.. Muchas gracias Mithrandir, soy algo nuevo en esto de sql, podrías poner un brevisimo ejemplo o explicar algo más "entendible" para un novato penco ¿¿?? si por lo que fuera no pudieras explicarlo o aplicarlo a algun ejemplo, me podrías decir un buen manual donde te explicara exactamente lo que busco ? De nuevo, muchisimas gracias.
__________________ ..:: Fr@n!! ::.. |
| ||||
Disculpa, que base de datos trabajas? Si tienes entre tus campos uno que sea la fecha de creacion del archivo, hora o algun registro incremental puedes usar el "ORDER BY" para lo de los 10 mas visitados debes de utilizar un campo en donde crees alguna funcion que cada que accedan a es seccion se incremente en uno e igual con el "ORDER BY " + "LIMIT". Saludos.
__________________ El ego es el mayor enemigo de un hombre inteligente. |
| |||
Sql Hola bitbow, trabajo con sql. ok!, pillo lo de los 10 ultimos: Select top 10 * from piso order by ID DESC. Sería así, no ??? Los 10 más visitados ya me cuesta algo más... no llego a entender el concepto que explicas, podríais explicaros ??? Gracias por vuestra ayuda, la verdad que me está llendo de perla. Salu2,
__________________ ..:: Fr@n!! ::.. |
| |||
Para los 10 ultimos tu query es la correcta... con order by desc y top 10.... Para saber cuales son los mas consultados; eso requiere de programacion.... 1.- Creas un campo adicional en la tabla de tipo INTEGER 2.- Por la aplicacion lo que debes de hacer es cuando alguien consulta el campo; haces un update a esa columna sumandole un 1... con eso registras la visita 3.- Para consultar despues cuales son los mas visitados hace SELECT TOP 10 TUCAMPOCLAVE, COUNT(CAMPONUEVO) FROM TUTABLA GROUP BY TUCAMPOCLAVE, COUNT(CAMPONUEVO) ORDER BY TUCAMPOCLAVE, COUNT(CAMPONUEVO) DESC Y LISTO |
| |||
Si! Olé, entendido a la perfección!!! Muchisimas gracias monkyta!!! Lo que no entiendo es porque no me funciona mi query... q hago mal ?? os enseño el codigo... include("ConexionBaseDatos.php"); $link=Conectarse(); $result=mysql_query("SELECT TOP 10 * FROM tabla ORDER BY Id DESC",$link); while($row = mysql_fetch_array($result)) { printf(" <tr> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> <td><strong><div align=center> %s </td> </tr> <tr><td><br></td></tr>", $row["campo1"], $row["campo2"],$row["campo3"],$row["campo4"],$row["campo5"],$row["campo6"],$row["campo7"],$row["campo8"],$row["campo9"] ); } mysql_free_result($result); mysql_close($link); ?> Podéis hexarme un cable ??? Os enseño el error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /inicio1.php on line 50 Line 50 : while($row = mysql_fetch_array($result)) Osea la variable $result=mysql_query("SELECT TOP 10 * FROM tabla ORDER BY Id DESC",$link); ¿?
__________________ ..:: Fr@n!! ::.. Última edición por Alocao; 09/09/2006 a las 15:44 Razón: Os enseño el error... |
| |||
Eso que te pasa es porque está fallando la query y el error no lo estas controlando... .. para poder ver que error te esta dando haz esto : <?php $result = mysql_query("SELECT TOP 10 * FROM tabla ORDER BY Id DESC",$link); if (!$result) { echo mysql_error(); exit; } ?> |
| |||
Muchas gracias por la info monkyta me devolvía el siguiente error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10 * FROM tabla ORDER BY Id DESC' at line 1 Me he rebanado los seso y he buscado algo y al final lo he dejado con la siguiente query: SELECT * FROM tabla LIMIT 10 Con esta query me funciona... Ahora me liaré con la solución de las 10 más visitadas... Gracias!!! "Rectifico, no funciona, sólo saca los 10 últimos registros... y ni siquiera están ordenados..."
__________________ ..:: Fr@n!! ::.. Última edición por Alocao; 09/09/2006 a las 18:55 |
| |||
Cita: este sub foro es de sql server, no mysql... seria bueno que hagas la pregunta en el lugar correcto, asi recibiras ayuda mas precisa
Iniciado por Alocao Muchas gracias por la info monkyta me devolvía el siguiente error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10 * FROM tabla ORDER BY Id DESC' at line 1 Me he rebanado los seso y he buscado algo y al final lo he dejado con la siguiente query: SELECT * FROM tabla LIMIT 10 Con esta query me funciona... Ahora me liaré con la solución de las 10 más visitadas... Gracias!!! Cita: es porque en ningun lado estas indicando que ordene... "Rectifico, no funciona, sólo saca los 10 últimos registros... y ni siquiera están ordenados..." |