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
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
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
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"; ?>
Quedaría algo así.
En parte II veremos la creación de la base de datos y las tablas.


#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