11. Primer proyecto propuesto paso a paso
PHP
11. Primer proyecto propuesto paso a paso
Vamos a realizar (proponer) un primer proyecto completo, que permita poner en práctica todo lo realizado hasta el momento. Nos acercaremos paso a paso hasta lograr una página web con PHP y MySQL que nos permita anotar y consultar los gastos que vayamos haciendo.
- Crea una página principal (index.php) que actúe como menú. Debe mostrar las siguientes opciones: Buscar un gasto, ver todos los gastos, añadir un nuevo gasto. Esas opciones deben ser tres botones distintos, que llevarán a las páginas "buscar.php", "listado.php", "nuevo.php". Cada una de esas páginas contendrá un texto similar a "Ha escogido la opción Buscar".
- Crea una base de datos llamada "contab". En ella habrá una tabla "gastos" que contendrá los campos "fecha", "importe", "descripcion", "categoria". La "fecha" debe ser de tipo DATE, la descripción será de tipo VARCHAR, así como la categoría (que guardará datos como "ocio" o "teléfono"). El importe será de tipo DECIMAL(10,2), para permitir gastos de hasta 8 cifras antes de la coma y dos después de ella. Añade dos datos de ejemplo. La página "listado.php" mostrará la fecha, importe y descripción de todos los gastos, ordenados de más reciente a más antiguo.
- La página "buscar.php" mostrará una casilla de texto en la que el usuario introducirá el texto a buscar, y un botón para comenzar la búsqueda. Saltará a la misma página (buscar.php), que mostrará los gastos que contienen ese texto en su descripción, ordenados de más reciente a más antiguo.
- El menú con tres botones que antes estaba en "index.php", junto con la cabecera de la página (por ahora, será al menos ""), deben estar en un fichero llamado "inc_cabecera.php". El pie de todas las páginas (al menos"") debe estar en un fichero llamado "inc_pie.php". Todas las páginas deben incluir esa cabecera y ese pie. La página "index.php" debe mostrar también el texto "Bienvenido a mi contabilidad doméstica. Actualmente hay XX anotaciones", donde XX debe ser el número de gastos existentes.
- Crea una función "conectar", que sea la que conecte a la base de datos y devuelva el enlace. Esa función debe estar en la cabecera, para poder ser utilizada por todas las páginas.
- La página "nuevo.php" debe mostrar el formulario que permita introducir los datos de un nuevo gasto. Cuando se pulse el botón de "Guardar datos", debe llevar a la misma página, que informára de si se ha guardado correctamente o no.
- Tanto la página "listado.php" como "nuevo.php" deben mostrar los datos tabulados (en una tabla de HTML): en cada fila se mostrarán los datos de un gasto, en el siguiente orden: Fecha - Descripción - Importe - Categoría. Para evitar trabajo repetitivo, crea una función "mostrarLista", que te muestre esos datos a partir de una cierta consulta en SQL que se le pase como parámetro. Incluye esta función en la cabecera.
- La función "mostrarLista" incluirá una quinta columna para cada gasto, que mostrará un botón (o un enlace) "Modificar", que permita modificar ese gasto concreto. Llevará a una página "modificar.php", con una apariencia similar a la de "nuevo.php", pero que mostrará en sus casillas el valor actual de fecha, importe y demás campos del gasto, para que no sea necesario teclearlos otra vez. Esa página debe llevar a ella misma ("modificar.php") e informar de si se han guardado correctamente los cambios o no.
- Crea funciones que conviertan de la fecha en formato de MySQL (AAAA-MM-DD) a formato español (DD-MM-AAAA) y viceversa, para que la página resulte más amigable para el usuario. Así, las fechas se mostrarán e introducirán en formato español, pero se convertirán antes de volcarlas a MySQL, así como antes de mostrarlas en la página web.