Curso PHP y MySQL siguiendo una temática: árbol genealógico -Parte I-


El proyecto trata sobre la creación de una sencilla Web en la que se podrá crear un árbol genealógico que mediante la inserción de datos y su relación podremos ver  una estructura en forma de árbol con las personas y sus respectivos cónyuges, funcionará bajo el archiconocido lenguaje interpretado dinámico PHP5 embebido en HTML, y los datos serán gestionados por MySQL. También se hace uso en menor medida de Javascript.

A tener en cuenta

- Aunque la complejidad es baja hay que tener conocimientos de programación, la dificultad: 1  2  (3) 4  5

Esquema de la página

Diagrama del diseño de la página árbol genealógico. Curso PHP-mysql

Diagrama del diseño de la página

Organización del código

Los archivos se organizarán en carpetas, será algo así:

curso php-mysql básico. Organización del código fuente

curso php-mysql básico. Organización del código fuente

admin .- contiene los archivos que realizarán ejecuciones de: consultar, insertar, eliminar.

config.- tendremos los archivos de configuración para la instalación inicial.

css.- contiene las hojas de estilo de la página.

imagenesRetratos.- donde guardo las fotos de las personas.

images.- las imágenes que forman toda la página.

inc.- archivos que contienen funciones para facilitar el trabajo y configuración del entorno como la base de datos.

js.- archivos con las funciones en javascript

arbol.php .- genera la vista con la estructura del árbol genealógico.

index.php.- página principal con las opciones iniciales.

Página principal index.php

La página principal es un menú muy sencillo que ofrece la opciones como «Crear» un árbol o realizar una «Consulta» sobre el árbol genealógico existente.

<div><img longdesc="Opción de menú" usemap="#menu" src="images/inicio.png" border="0" alt="Opción" width="800" height="533" />
<map id="menu" name="menu">
<area shape="poly" coords="422,388,426,405,427,426,478,438,760,434,762,379,462,371" href="admin/consultar.php"></area>
<area shape="poly" coords="406,316" href="#"></area>
<area shape="poly" coords="66,383" href="#"></area>
<area shape="poly" coords="59,384,317,362,339,421,312,435,112,440,63,422" href="admin/opcioncrear.php"></area>
        </map></div>

Carpeta inc - Configuración config.inc.php

En la carpeta inc tenemos los archivos que facilitan la tarea, sobre todo para el acceso a la base de datos (bd). Se trata de centralizar la configuración de acceso a la bd en un solo archivo y también de crear funciones a las cuales le pasaremos parámetros para realizar las consultas SQL:

contenido de la carpeta inc

contenido de la carpeta inc

Tenemos la configuración para el acceso a la bd y algunos parámetros como el tamaño máximo permitido de una imagen a subir al servidor:

Esta configuración facilitará una parametrización centralizada de toda la página.

// Árbol Genealógico
// 2006 Diego Peñalver Montero  -
// CC BY-ND 2.5
//=====================================================================================================================
// Parámetros para la conexión a la base de datos
//=====================================================================================================================
$dbhost 	= "localhost"; 	// Máquina que recoge la base de datos
$dbname 	= "arbolgen";	// Nombre de la base de datos
$tabla		= "personas";	// Nombre de la tabla más importante, donde se guardan los datos de las personas
$tabla2   	 = "conyuges";
// Usuario de acceso a la BD
$dbuser 	= "usuario";		// Usuario
$dbpwd  	= "";		// Constraseña de acceso
//=====================================================================================================================
// Tamaño para la subida de fotos mínimos y máximos
//=====================================================================================================================
 
$img_max		= 20000;
$img_min		= 300;
$rutaficheros= "/arbolgen/imagenesRetratos/";//ruta absoluta donde se transportan las imágenes enviadas al servidor
$carpetafotos= "../imagenesRetratos/"; //ruta relativa para los links y src de las fotos, se almacena para la base de datos
 
//=====================================================================================================================
// Conexión Base de Datos
//=====================================================================================================================
$conexion = $mysql_connect = mysql_connect($dbhost, $dbuser, $dbpwd) or die("No se puede acceder al servidor(".$dbhost."). Compruebe: Cortafuegos, Arranque el Servidor...");
$database_select = mysql_select_db($dbname) or die("No se puede acceder a la Base de Datos (".$dbname.")");
 
//=====================================================================================================================
// Sesiones
//=====================================================================================================================
/* session_start();
if (!isset($_SESSION["id"])) $_SESSION["id"] = 0;
if (!isset($_SESSION["name"])) $_SESSION["name"] = "nobody";
?&gt;

Quedaría algo así.

En parte II veremos la creación de la base de datos y las tablas.

, ,

  1. #1 por Server80 - Septiembre 8th, 2009 a las 16:34

    Hola Diego, de antemano muchas gracias por esta ayuda y enseñanza que realizas a través de tu web.
    Me parece super interesante este curso ya que estoy por hacer mi árbol genealógico y con esta primera parte ya tengo la idea clara de cómo iniciar.
    Mi pregunta es si ya se publicado la segunda y tercera parte.

    Saludos y muchas gracias nuevamente

(No será publicado)