pw1 jjjnnnnnnnnnnnnnnnnnn
-
Upload
brenda-patterson -
Category
Documents
-
view
227 -
download
1
description
Transcript of pw1 jjjnnnnnnnnnnnnnnnnnn
13. Un ejemplo unificado: Consulta bibliogrficaEn esta seccin desarrollaremos un ejemplo que unifique todo los visto hasta el momento.
El ejemplo permitir hacer bsquedas sobre un archivo de texto que contiene la bibliografa del curso. Las bsquedas podrn ser por autor, ttulo y ao.
El archivo que contiene toda la informacin es un texto no estructurado (texto plano), donde a penas se distinguen las partes por algunos signos de puntuacin sin que aparentemente haya una forma sencilla de extraer la informacin.
[1] J. Glenn Brookshear, Computer Science: An Overview 11th Edition; Prentice Hall; January 31, 2011.[2] Jacqueline D. Hamilton, CGI Programming 101: Programming Perl for the World Wide Web Second Edition; http://www.cgi101.com/; 2004.[3] Nick Parlante, Essential perl; http://cslibrary.stanford.edu/108/; 2002.[4] Web-building tutorials; http://www.w3schools.com/; 2013.Antes de empezar con la implementacin de la solucin necesitaremos una nueva estructura de datos que ser de gran utilidad.13.1 Arreglos asociativos (Mapas)Tambin conocidos como Diccionarios, Mapas o tablas Hash, los Arreglos asociativos, permiten relacionar una clave con un valor. Al estilo de un diccionario donde a cada palabra (clave) se le asocia un significado(valor).En cuanto a la sintaxis los arreglos asociativos se distinguen de los arreglos simples por el uso del smbolo%.%dict = ( "bart" => "Yo no lo hice!", "homer" => "Donnas", "lisa" => "El significado de la vida?",);Es posible extraer valores usando las claves como ndices:$string = $dict{"bart"};
Si una clave no existe se retorna el valorundef$string = $dict{"marge"};
Tambin es posible cambiar el valor asociado a una clave$dict{"homer"} = "Mmmm, scalars";
Es posible extraer todas las claves de un mapa:@claves = (keys %dict);
Entonces el arregloclaves, contendr:("homer", "lisa, "bart"). Sin ningn orden en especial. (La palabra Hash significa desorden).13.2 El formulario para la consulta.htmlPara permitir que el usuario pueda hacer la consulta se usar el siguiente formulario
Consultas a la bibliografa
Bsqueda biblogrfica por: autor
ttulo
ao
El cual captura dos datos:1. El campo de bsqueda: author, title o year, en la variable kind.2. El texto a buscar, en la variable keywordEl formulario usa la siguiente hoja de estilo.css:body { font: 75% georgia, sans-serif; line-height: 1.88889; color: #555753; background-color: #b0c4de; margin: 0; padding: 0;}fieldset{background-color: #6495ed;}legend{ color: white; background-color: #6495ed;}h1{color: blue;}a:link {color:#FF0000;}a:visited {color:#00FF00;}a:hover {color:#FF00FF;}a:active {color:#0000FF;}13.3 El CGI consulta.plEl CGI que procesa la consulta tendr el siguiente cdigo como rutina principal#!/usr/bin/perl -wTuse CGI qw(:standard);
print "Content-type: text/html\n\n";print CREATE DATABASE prueba;Query OK, 1 row affected (0.03 sec)
mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| mysql || prueba || test |+--------------------+mysql> USE prueba;Database changedmysql> USE pruebaDatabase changedmysql> CREATE TABLE gente (nombre VARCHAR(40), fecha DATE);
mysql> SHOW TABLES;+------------------+| Tables_in_prueba |+------------------+| gente |+------------------+mysql> CREATE TABLE ciudad1 (nombre CHAR(20) NOT NULL, poblacion INT NULL);