Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   creando panel de control (http://www.forosdelweb.com/f18/creando-panel-control-615935/)

guachacapepe 17/08/2008 14:31

creando panel de control
 
Buenas

Escribo para preguntar ¿como es la mejor manera de hacer un panel de control con PHP para mi pagina?

¿como hago que por defecto mediante un panel de control me muestre las noticias de tal año solamente?

PD:solo necesito algunas referencias.

Eso, espero haberme explicado bien. Saludos

Mort20 17/08/2008 14:53

Respuesta: creando panel de control
 
Sobre mostrar las noticias de tal año, eso es más de la base de datos que PHP. Suponiendo que lo guardes en una BD MySQL (creo que también funcionaría con cualquiera SQL en general, pero no estoy seguro), sólo debes usar la sentencia LIKE. Ejemplo:
Código:

SELECT * FROM noticias WHERE ano LIKE '2008'
Suponiendo que la tabla noticias contiene las noticias, of course, y que ano conitene únicamente el año de la notícia (no también la fecha ni la hora, sólo año), eso te daría todas las noticias de ese año.

Si son muchas usa la sentencia LIMIT para limitar la cantidad de resultados y los vas imprimiendo con un bucle for, dónde en cada iteración imprime por ejemplo 10 hasta que no queden más. Esto sólo es para ahorrar problemas como exceso de tiempo en realizar la consulta o exceso de uso de memoria y estas cosas.

Lo demás es lo mismo, ir montando el panel de control consultando las cosas en la BD o pasando parámetros por $_GET, $_POST, usar sesiones etc. Como cualquier otra cosa de una web, vamos.

DooBie 17/08/2008 15:55

Respuesta: creando panel de control
 
Cita:

Iniciado por Mort20 (Mensaje 2537827)
Sobre mostrar las noticias de tal año, eso es más de la base de datos que PHP. Suponiendo que lo guardes en una BD MySQL (creo que también funcionaría con cualquiera SQL en general, pero no estoy seguro), sólo debes usar la sentencia LIKE. Ejemplo:
Código:

SELECT * FROM noticias WHERE ano LIKE '2008'
Suponiendo que la tabla noticias contiene las noticias, of course, y que ano conitene únicamente el año de la notícia (no también la fecha ni la hora, sólo año), eso te daría todas las noticias de ese año.

Si son muchas usa la sentencia LIMIT para limitar la cantidad de resultados y los vas imprimiendo con un bucle for, dónde en cada iteración imprime por ejemplo 10 hasta que no queden más. Esto sólo es para ahorrar problemas como exceso de tiempo en realizar la consulta o exceso de uso de memoria y estas cosas.

Lo demás es lo mismo, ir montando el panel de control consultando las cosas en la BD o pasando parámetros por $_GET, $_POST, usar sesiones etc. Como cualquier otra cosa de una web, vamos.

No hace falta que tengas en la tabla un campo solo para el año, seria una tonteria aparte de un gasto innecesario de espacio.
Si tienes en la tabla un campo fecha-hora (que es lo normal), puedes recuperar el año haciendo:
Código:

SELECT * FROM noticias WHERE YEAR(fecha)='2008';

Tokkara 17/08/2008 16:06

Respuesta: creando panel de control
 
Yo siempre aconsejo que las fechas se guarden en la BD usando el timestamp de UNIX, se consigue usando la funcion time(). Despues usando la funcion mktime() podremos crear busquedas mas concretas.

Código PHP:

//Noticias mayores 2008
$year mktime(0,0,0,0,0,2008);
$sql "SELECT * FROM noticias WHERE fecha > ".$year;

//Concretar mas: Mayores que Julio 2008
$year mktime(0,0,0,0,7,2008);
$sql "SELECT * FROM noticias WHERE fecha > ".$year;

//Mayores de 2006 y menores de 2008
$year1 mktime(0,0,0,0,0,2006);
$year2 mktime(0,0,0,0,0,2008);

$sql "SELECT * FROM noticias WHERE fecha > ".$year1." AND fecha < ".$year2;

//Y asi hay muchas formas y combinaciones 

Además usando después la funcion date podremos dar el formato que queramos a las fechas.

Mort20 17/08/2008 16:34

Respuesta: creando panel de control
 
Cita:

Iniciado por DooBie (Mensaje 2537875)
No hace falta que tengas en la tabla un campo solo para el año, seria una tonteria aparte de un gasto innecesario de espacio.
Si tienes en la tabla un campo fecha-hora (que es lo normal), puedes recuperar el año haciendo:
Código:

SELECT * FROM noticias WHERE YEAR(fecha)='2008';

Ya lo sé, sólo estaba poniendo un ejemplo. Asumiendo que no se le había ocurrido el sistema - por eso posteaba - lo más fácil para entender las cosas es con el ejemplo más sencillo posible. No digo que hacer lo tuyo sea difícil ni mucho menos, sólo que no es lo más fácil posible.
Aunque ahora que me fijo en mi ejemplo tampoco era adecuado el like (lo lógico hubiera sido la llana igualdad).

guachacapepe 17/08/2008 20:55

Respuesta: creando panel de control
 
Muchas gracias por las respuestas pero a lo que me refería es que, yo queiro hacer un panel de control interno como administrador de la pagina. El usuario puede modificar el año si quiere, pero si no a modificado el año, que quede con el año que yo asigne en el panel de control.

Voy a probar con sus ejemplos.

Gracias nuevamente.


La zona horaria es GMT -6. Ahora son las 10:54.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.