Cree una base de datos para agregar entradas y que me las fuera mostrando en mi pagina.
Los campos de la base de datos son:
id
fecha
titulo
contenido
Quiero que me muestre las ultimas 10 entradas en la pagina principal y el resto en otra, para hacer eso estuve buscando y lo unico que encontre fue:
Código:
$query = mysql_query("SELECT * FROM entradas_juegos ORDER BY id LIMIT 0, 10 "); /* Linea 1 */ echo '<hr/><h2>'.mysql_result($query,0,titulo).'</h2>'; echo '<p><b>Escrito en: '.mysql_result($query,0,fecha).'</b></p>'; echo mysql_result($query,0,contenido).'<p><a href="#cabecera"><img src="objetos/flecharriba.gif" />Subir</a></p>';
Osea ir poniendolos uno por uno, aunque mucho no me quejo el problema es que me muestra los 10 primeros y no los ultimos.
Si alguien sabe como hacer para que me muestre los 10 ultimos se lo agradezco.
Otra cosa, no se como fue, pero este codigo desconfiguro un poco mi pagina en el pie, les dejo un link para que vean entrando a otras secciones la diferencia:
Bueno, en cuanto a tu duda sobre como mostrar los 10 ultimos resultados a tu consulta pues se podria solucionar transformando lo valores que van del 0 al 10.
Para ello los convertimos en variables, por ejemplo, desde y hasta.
Entones ¿desde donde queremos empezar a "ver" resultados? Desde el total de los resultados menos 10. ¿Y hasta donde queremos verlos? Pues hasta el total de los resultados, es decir el ultimo resultado.
Aqui lo explico un poco mejor:
*Este codigo esta echo como idea de como se podria hacer, para que funcionara solo faltaria que obtubieras el total de resutados y lo insertaras en las variables.
Código:
// Creas dos variables $desde = (obtienes el total de resultados y lo llamas aqui) - 10 ; $hasta = (vuelves a llamar el total de resultados) ; // Hacemos la query con estas $query = mysql_query("SELECT * FROM entradas_juegos ORDER BY id LIMIT $desde, $hasta "); // Con el while mostramos los ultimos 10 resultados while($datos = mysql_fetch_assoc($query)) { /* Linea 1 */ echo '<hr/><h2>'.mysql_result($query,0,titulo).'</h2>'; echo '<p><b>Escrito en: '.mysql_result($query,0,fecha).'</b></p>'; echo mysql_result($query,0,contenido).'<p><a href="#cabecera"><img src="objetos/flecharriba.gif" />Subir</a></p>'; } // Cerramos el while
Ya pude hacerlo usando desc (invierte el orden) en la llamada a los 10 resultados, el problema que tengo ahora es que si la linea de la base de datos no existe me sale un error, estuve probando algunas cosas y no pude hacer que desaparezca...
Buff, entonces perdona el mensaje de antes . . . la verda que llevo un tiempo sin tocar el php, y ahora volvi a programar y llevo unos dias programando sin parar, espero que eso sea la respuesta a lo que pude complicar algo sencillo como lo que pedias en mi mensaje anterior . . .
En cuanto al problema que tienes ahora no logre entender cual es . . .
Pues asi en principio podrias hacer un if() donde si no existen resultados no muestre nada. Y te evitarias que apareciesen esos Escrito en:,Por, . . .etc, sin resultados.
Pues el código, tendría esta estructura: harías la consulta, la condicional (if), y el resto del código. Intentalo de esta manera, y si te da un error pon el error que te da aquí para saber en que parte es y solucionarlo.
Bueno, me puse a investigar y logre terminar el codigo, con un condicional if que si cierta variable era mayor a la cantidad de entradas saltaria un break y anduvo perfecto. Tambien le agregue un sistema para mostrar todas las entradas menos las 10 primeras con un link que aparece abajo de cada entrada solo cuando se superaron las 10.
TU NO PUEDES Escribir nuevos temas en este foro TU NO PUEDES Responder a los temas en este foro TU NO PUEDES Editar tus propios mensajes en este foro TU NO PUEDES Borrar tus propios mensajes en este foro
Todas las fechas y horas son GMT+1. Ahora son las 23:55