Vous êtes sur la page 1sur 8

Aplicacin de una agenda

bsica con PHP MySQL


Una manera sencilla de desarrollar una aplicacin sencilla:
una agenda bsica.
La agenda bsica desarrollada se acerca a una necesidad real: la misma que
ofrece un desarrollo sencillo e explicativo con comentarios en cada fragmento de
cdigo en el archivo fuente. Hemos escogido trabajar con PHP y MySQL porque
es el lenguaje perfecto para pequeas y grandes aplicaciones web. Por el
momento no tiene insertada libreras para una mejor interfaz, pero es de gran
utilidad a la hora de presentarlo.
Nota: para ver una mejor interfaz de la aplicacin podemos hacer uso de plugins u hojas de estilo
(snippets de cdigo CSS). A continuacin les dejo los enlaces.
www.jqueryplugins.com (plugins Jquery).
css-tricks.com/snippets (fragmentos de cdigo).

1.-Planteamiento del problema


En la agenda que desarrollaremos necesitamos agregar, eliminar y editar una cita,
as como tambin la seleccin de la hora de dicha cita, y cmo para mover la cita a
otro da, segn sea la necesidad del usuario.

2.- Lgica de la aplicacin agenda


Vamos a presentar en dos grficos el funcionamiento de nuestra aplicacin, lo cual
nos dar un mejor entendimiento de lo que lograremos hacer.

3.-Diseamos la base de datos


Despus de haber planteado nuestro problema ya tenemos una idea de cmo
seria nuestra base de datos, as pues manos a la obra, necesitaremos lo siguiente:
Nombre de la base de datos agenda
Nombre de la tabla - citas
idcita para incrementar el nmero de registros de las citas
horacita para almacenar la hora en que se va a realizar la cita
diacita el dia en se haga la cita
asuntocita y el asunto de la cita, en tal caso la descripcin de la misma.

Nota: la base creada la tengo en un archivo .sql para que sea de facilidad para que el que la quiera
emplear, las ajuste a sus necesidades.

Estructura de nuestra agenda


Es importante conocer la estructura de nuestra aplicacin para saber cules son
los archivos que van a intervenir y cules son las hojas de estilo que utilizaremos,
los plugins etc. En nuestro caso, tenemos un directorio sencillo, el cual podremos
ver en el siguiente grfico:

4.- Creacin del index


El siguiente paso es empezar a crear el "index" de nuestra agenda. Primero
incluimos el cdigo que nos llevar a las otras pginas, segn las acciones que
realicemos en dichos botones.
<head>
<script language="javascript" type="text/javascript">
/* Las siguiente funcin de JavaScript enva el formulario a la pgina
que corresponda al botn pulsado. */
function saltar(pagina){
document.formularioCitasPrincipal.action=pagina;
document.formularioCitasPrincipal.submit();
}
/* Aqu termina la funcin de envo del formulario. */
</script>
<title>Mini-agenda</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

En el siguiente fragmento incluimos las libreras, como la fecha y la conexin a


nuestra base de datos, as como nuestra primera consulta.
El archivo inc es el que contendr la codificacin para mostrar la fecha actualizada
en nuestra aplicacin, quiero decir la hora en que se edite, modifique o elimine una
cita. Y otro archivo que es el que indicamos qu base de datos usamos.
<body>
<?php
// Se incluye el miniscript que abre la base de datos.
include ("inc/fechas.php");
// Se incluye el miniscript de tratamiento de fechas
include ("inc/usarBD.php");
/* Se crea una consulta para recuperar todos los datos de las citas con
fecha del da en curso.
La consulta de seleccin se crea de tal modo que ordene las citas por la
hora. */
$consulta="SELECT * FROM citas WHERE diacita='".$fechaEnCurso."' ORDER BY
horacita;";
/* Se ejecuta la consulta de seleccin.*/
$hacerConsulta=mysql_query($consulta, $conexion);
/* Se determina el nmero de registros recuperados por el cursor, porque
si es 0 el
diseo de la pgina (parte HTML) es diferente que si hay registros. */
$numeroDeCitasDelDia=mysql_num_rows($hacerConsulta);
echo ("Citas del da: ".$numeroDeCitasDelDia.salto);
?>
AGENDA DEL DA:
<?php
/* Se muestra la fecha del da. */
echo ($diaActual." del ".$mesActual." de ".$annioActual);
?>

Creamos el campo de entrada de objetos un "texarea" donde digitaremos la


descripcin de nuestra de la cita para nuestra agenda.

<!-- El formulario no tiene valor en el parmetro action porque se le


asigna por una funcin javascript antes de enviarlo. La funcin que se
ejecute
y, por tanto, el valor de este parmetro, depende del botn pulsado por
el usuario.-->
<form action="" method="post" name="formularioCitasPrincipal"
id="formularioCitasPrincipal">
<!-- El siguiente campo oculto almacena la fecha en curso, obtenida desde
PHP.
Este dato se enviar a otros formularios y, a su vez, se rcuperar desde
la
pgina de cambio de fecha actual. -->
<input type="hidden" name="fechaEnCurso" id="fechaEnCurso" value="<?php
echo($fechaEnCurso); ?>">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr><th>CITAS</th></tr>
</table>

Por ltimo, comprobaremos en una tabla el nmero de consulta que ha hecho el


usuario y as poderlo mostrar OCN su respectiva fecha y hora de realizacin. Los
botones que se crean como por ejemplo:
Eliminar cita
Agregar cita
Modificar cita

El siguiente fragmento de cdigo lo explica fcilmente:


/* Se comprueba si hay citas en el cursor. Si es as, se dibujar una
tabla en la que se mostrarn las citas y unos botones de seleccin. */
if ($numeroDeCitasDelDia>0){
echo ("<table width='500' border='0' cellspacing='0' cellpadding='0'>");
while ($cita = mysql_fetch_array($hacerConsulta, MYSQL_ASSOC)) {
echo ("<tr><td>".$cita["horacita"]."</td>");
echo ("<td>".$cita["asuntocita"]."</td>");

/* Cada cita tiene asociado un botn de seleccin para si el usuario


quiere
modificarla o borrarla. El valor del botn es el identificativo de la
cita,
de modo que se usar en las correspondientes consultas de actualizacin o
eliminacin en las pginas que proceda.*/
echo ("<td><input type='radio' id='citaSeleccionada'
name='citaSeleccionada' value='".$cita["idcita"]."'>");
echo ("</td></tr>");
}
echo ("</table>");
/* Si existen citas se mostrarn los botones de borrar y modificar. */
echo ("<input name='borrarCita' type='button' id='borrarCita'
value='Eliminar Cita'
onClick='javascript:saltar("eliminarCita.php");'>".salto);
echo ("<input name='cambiarCita' type='button' id='cambiarCita'
value='Modificar cita'
onClick='javascript:saltar("cambiarCita.php");'>".salto);
}
/* En todo caso se mostrarn los botones de agregar cita y cambiar la
fecha en curso. */
echo ("<input name='nuevaCita' type='button' id='nuevaCita'
value='Agregar cita'
onClick='javascript:saltar("agregarCita.php");'>".salto);
echo ("<input name='cambiarFecha' type='button' id='cambiarFecha'
value='Otro da'
onClick='javascript:saltar("cambiarFecha.php");'>".salto);
?>
</form>
</body>
</html>

Eso es todo por el momento en cuanto a nuestro index en los siguientes archivos
como "eliminarcita.php" y dems explica lnea por lnea el cdigo.

En este link vamos a ver los archivos del cdigo fuente donde est alojada nuestra
agenda:
Archivo de descarga