Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto 2:
contenido
1. Archivos ......................................................................... 2 2. MySQL: Base de Datos ............................................. 3 3. Index.html .................................................................... 6 5. Delentry.php ................................................................ 11 6. Selentry.php ............................................................... 13 7. Vista Principal ........................................................... 20 8. Aadir Entrada .......................................................... 21 9. Borrar una Entrada ................................................. 23
1. Archivos
mysql> create database agenda; Query OK, 1 row affected (0.00 sec)
mysql> CREATE TABLE master_name (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, dat e_added DATETIME, date_modified DATETIME, f_name VARCHAR (75), l_name VARCHAR (7 5)); Query OK, 0 rows affected (0.15 sec)
mysql> CREATE TABLE address (master_id INT NOT NULL, date_added DATETIME, date_m odified DATETIME, address VARCHAR (255), city VARCHAR (30), mstate CHAR (2), zip code VARCHAR (10), type ENUM ('home', 'work', 'other'), FOREIGN KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASCADE); Query OK, 0 rows affected (0.21 sec)
mysql> CREATE TABLE fax (master_id INT NOT NULL, date_added DATETIME, date_modif ied DATETIME, fax_number VARCHAR (25), mtype ENUM ('home', 'work', 'other'), FOR EIGN KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASC ADE); Query OK, 0 rows affected (0.15 sec)
mysql> CREATE TABLE telephone (master_id INT NOT NULL, date_added DATETIME, date _modified DATETIME, tel_number VARCHAR (25), type ENUM ('home', 'work', 'other') , FOREIGN KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASCADE); Query OK, 0 rows affected (0.08 sec)
mysql> CREATE TABLE email (master_id INT NOT NULL, date_added DATETIME, date_mod ified DATETIME, email VARCHAR (150), type ENUM ('home', 'work', 'other'), FOREIG N KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASCADE ); Query OK, 0 rows affected (0.09 sec)
mysql> CREATE TABLE personal_notes (master_id INT NOT NULL UNIQUE, date_added DA TETIME, date_modified DATETIME, note TEXT, FOREIGN KEY (master_id) REFERENCES ma ster_name(id) ON DELETE CASCADE ON UPDATE CASCADE); Query OK, 0 rows affected (0.06 sec)
| master_name
3. Index.html
<p><strong>Admin</strong></p>
<a href="newentry.php"><img src="cooltext609011242.png" onmouseover="this.src='cooltext609011242MouseOver.png';" onmouseout="this.src='cooltext609011242.png';" /></a> <br> <a href="delentry.php"><img src="cooltext609011791.png" onmouseover="this.src='cooltext609011791MouseOver.png';" onmouseout="this.src='cooltext609011791.png';" /></a> <br> <br> <br> <br> <hr> <p><strong>User</strong></p> <a href="selentry.php"><img src="cooltext609012974.png" onmouseover="this.src='cooltext609012974MouseOver.png';" onmouseout="this.src='cooltext609012974.png';" /></a> </body> </html>
4. Newentry.php
//Mostrar formulario
$display_block = " <form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">"; if (isset($_GET["master_id"])) {
//Nombre y apellido
$display_block .= " <p><strong>Nombre y apellido:</strong><br/> <input type=\"text\" name=\"f_name\" size=\"30\" maxlength=\"75\"> <input type=\"text\" name=\"l_name\" size=\"30\" maxlength=\"75\">"; }
//Direccion
$display_block .= "<p><strong>Direccin:</strong><br/> <input type=\"text\" name=\"address\" size=\"30\"></p>
//Ciudad, Provincia, CP
<p><strong>Ciudad/Provincia/Cdigo postal:</strong><br/> <input type=\"text\" name=\"city\" size=\"30\" maxlength=\"50\"> <input type=\"text\" name=\"state\" size=\"5\" maxlength=\"2\"> <input type=\"text\" name=\"zipcode\" size=\"10\" maxlength=\"10\"></p>
//Tipo direccion
<p><strong>Tipo de direccin:</strong><br/> <input type=\"radio\" name=\"add_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"add_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"add_type\" value=\"other\"> Otros</p>
//Tfno
<p><strong>Nmero de telfono:</strong><br/> <input type=\"text\" name=\"tel_number\" size=\"30\" maxlength=\"25\"> <input type=\"radio\" name=\"tel_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"tel_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"tel_type\" value=\"other\"> Otros</p>
//Fax
<p><strong>Nmero de fax:</strong><br/> <input type=\"text\" name=\"fax_number\" size=\"30\" maxlength=\"25\"> <input type=\"radio\" name=\"fax_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"fax_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"fax_type\" value=\"other\"> Otros</p>
//mail
<p><strong>Direccin e-mail:</strong><br/> <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"150\"> <input type=\"radio\" name=\"email_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"email_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"email_type\" value=\"other\"> Otros</p>
//Nota
<p><strong>Nota personal:</strong><br/> <textarea name=\"note\" cols=\"35\" rows=\"3\" wrap=\"virtual\"></textarea></p>
//Comprobacion
if ((($_POST["f_name"] == "") || ($_POST["l_name"] == "")) || (!isset($_POST["master_id"]))) { header("Location: newentry.php"); exit; }
//Conexion DB
$mysqli = mysqli_connect("localhost","root","","agenda"); if (!$_POST["master_id"]) {
//Obtencion de master id
$master_id = mysqli_insert_id($mysqli); } else { $master_id = $_POST["master_id"]; }
10
5. Delentry.php
<?php
//conexion DB
$mysqli = mysqli_connect("localhost", "root", "", "agenda"); if (!$_POST) {
//Ver form
$display_block = "<h1>Selecciona un contacto</h1>";
//Obtener form
$get_list_sql = "SELECT id, CONCAT_WS(', ', l_name, f_name) AS display_name FROM master_name ORDER BY l_name, f_name"; $get_list_res = mysqli_query($mysqli, $get_list_sql) or die(mysqli_error($mysqli));
//comprobacion id
if ($_POST["sel_id"] == "") { header("Location: delentry.php"); exit; }
//delete
$del_master_sql = "DELETE FROM master_name WHERE id = '".$_POST["sel_id"]."'"; $del_master_res = mysqli_query($mysqli, $del_master_sql) or die(mysqli_error($mysqli));
//muestra en pagina:
$display_block = "<h1>Deleted!!</h1> <a href=\"".$_SERVER["PHP_SELF"]."\">Borrar otro user</a>?</p> <p><a href=\"newentry.php\">Aadir otro user</a></p> <p><a href=\"selentry.php\">Ver un user</a></p> <p><a href=\"index.html\">Atrs</a></p>"; } ?> <html> <head> <title>Contacts</title> </head> <body background="bck.png"> <?php echo $display_block; ?> </body> </html>
12
6. Selentry.php
<?php
//connect DB
$mysqli = mysqli_connect("localhost", "root", "", "agenda");
if (!$_POST) {
//Mostrar form
$display_block = "<h1>Selecciona un contacto</h1>";
//select lista
$get_list_sql = "SELECT id, CONCAT_WS(', ', l_name, f_name) AS display_name FROM master_name ORDER BY l_name, f_name"; $get_list_res = mysqli_query($mysqli, $get_list_sql) or die(mysqli_error($mysqli));
$display_block .= " </select> <p><input type=\"submit\" name=\"submit\" value=\"Mostrar datos del contacto\"></p> </form>"; } mysqli_free_result($get_list_res); } else if ($_POST) {
//comprobar id
if ($_POST["sel_id"] == "") { header("Location: selentry.php"); exit; }
//select
$get_master_sql = "SELECT concat_ws(' ',f_name,l_name) as display_name FROM master_name WHERE id = '".$_POST["sel_id"]."'"; $get_master_res = mysqli_query($mysqli, $get_master_sql) or die(mysqli_error($mysqli));
14
mysqli_free_result($get_master_res);
//select direcciones
$get_addresses_sql = "SELECT address, city, state, zipcode, type FROM address WHERE master_id = '".$_POST["sel_id"]."'"; $get_addresses_res = mysqli_query($mysqli, $get_addresses_sql) or die(mysqli_error($mysqli));
while ($add_info = mysqli_fetch_array($get_addresses_res)) { $address = stripslashes($add_info['address']); $city = stripslashes($add_info['city']); $state = stripslashes($add_info['state']); $zipcode = stripslashes($add_info['zipcode']); $address_type = $add_info['type'];
//select tfno
$get_tel_sql = "SELECT tel_number, type FROM telephone WHERE master_id = '".$_POST["sel_id"]."'";
//select fax
$get_fax_sql = "SELECT fax_number, type FROM fax WHERE master_id = '".$_POST["sel_id"]."'"; $get_fax_res = mysqli_query($mysqli, $get_fax_sql) or die(mysqli_error($mysqli));
//select mail
$get_email_sql = "SELECT email, type FROM email WHERE master_id = '".$_POST["sel_id"]."'"; $get_email_res = mysqli_query($mysqli, $get_email_sql) or die(mysqli_error($mysqli)); if (mysqli_num_rows($get_email_res) > 0) { $display_block .= "<p><strong>Email/s:</strong><br/> <ul>";
//select notas
$get_notes_sql = "SELECT note FROM personal_notes WHERE master_id = '".$_POST["sel_id"]."'"; $get_notes_res = mysqli_query($mysqli, $get_notes_sql) or die(mysqli_error($mysqli));
if (mysqli_num_rows($get_notes_res) == 1) { while ($note_info = mysqli_fetch_array($get_notes_res)) { $note = nl2br(stripslashes($note_info['note'])); } $display_block .= "<p><strong>Nota personal:</strong><br/> $note</p>"; } mysqli_free_result($get_notes_res);
//muestra en pantalla:
$display_block .= "<br/> <p> <a href=\"selentry.php?master_id=".$_POST["sel_id"]."\">Aadir informacin</a></p> <p><a href=\"".$_SERVER["PHP_SELF"]."\">selecciona otro</a></p> <p><a href=\"delentry.php\">Borra un contacto</a></p> <p><a href=\"index.html\">Volver al men</a></p>"; }
7. Vista Principal
Si entramos en la agenda, nos encontramos con una pgina as:
20
8. Aadir Entrada
22
24