You are on page 1of 8

Agenda 1

Agenda 2

Agenda 3

Agenda 4

Aplicacin de una agenda bsica con PHP


MySQL

Por Brian Hernndez

25 de abril de 2013

16 Comentarios

PHP

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.

You might also like