Nombre:
Alexandra Maguana
Ciclo: Quinto
“Sistemas”
Método
GET y POST
Existen tres formas de dar valor a variables en PHP
en páginas web. Formularios, enlaces HTML y sesiones.
Formularios
La primera forma es crear un formulario, el cuál
utiliza los métodos GET y POST.
$_GET y $_POST son dos de las variables
superglobales que vimos antes. Por tener ámbito global, los valores que se
incluyan mediante estos dos métodos estarán disponibles en la página siguiente.
Mediante estos métodos podemos pasar determinados valores de una pagina a otra.
El método que se desee usar se indica en la
propiedad "Method", y la página a la cual deseo enviar la
información se indica en la propiedad "Action" del formulario.
Es importante recordar que $_GET y $_POST
son arreglos que tienen posiciones asociativas, es decir, cada posición en el
arreglo tiene un nombre, y ese nombre es el mismo que tiene cada campo del
formulario.
Ejemplos
de envío de parámetros usando formularios
Enlaces HTML
La segunda forma de enviar las variables es a
través de enlaces. Aquí, lo que se hace es enviar las variables mediante el
método GET. Más que nada porque cuando escribimos el enlace ya le estamos
pasando las variables por la línea de dirección:
<a
href=”index.php?estilo=4&tipo=2″>Inicio</a>
En este caso, las variables PHP estilo y tipo, se
envían usando el método GET. Cuando ingresemos al enlace Inicio, accederemos a
la pagina index.php y en la url se verán los valores de las variables estilo y
tipo.
Sesiones
Existe un tercer método de manejo de variables en
PHP; las sesiones, pero éste tema se tratará un poco más adelante.
Como recogemos los Valores de GET
y POST
Para recoger los valores de un formulario donde se ha usado el método POST se debe escribir:
$variable = $_POST['Posicion'];
Para recoger una variable enviada por el método GET o por medio de un enlace se hace lo siguiente:
$variable = $_GET['Posicion'];
Ejemplo
<a href=”index.php?estilo=4&tipo=2″>Inicio</a>
Al presionar el enlace "Inicio", se dirige a la página "index.php" y es allí donde debo recibir las variables de la siguiente manera:
Para recoger los valores de un formulario donde se ha usado el método POST se debe escribir:
$variable = $_POST['Posicion'];
Para recoger una variable enviada por el método GET o por medio de un enlace se hace lo siguiente:
$variable = $_GET['Posicion'];
Ejemplo
<a href=”index.php?estilo=4&tipo=2″>Inicio</a>
Al presionar el enlace "Inicio", se dirige a la página "index.php" y es allí donde debo recibir las variables de la siguiente manera:
<?php
$estilo = $_GET['estilo'];
$tipo = $_GET['tipo'];
echo $estilo . "<br>";
echo $tipo . "<br>";
?>
$estilo = $_GET['estilo'];
$tipo = $_GET['tipo'];
echo $estilo . "<br>";
echo $tipo . "<br>";
?>
Podemos observar que los datos enviados por GET son
visualizados desde la barra de direcciones, lo que lo convierte en un método
inapropiado para enviar información confidencial.
Este es un tema muy preguntado en internet y no vi ninguna respuesta muy
coherente así que voy a intentar dar una explicación, desde mi punto de vista,
cual es la diferencias entre $_REQUEST $_GET $_POST $_COOKIEPara entender las principales diferencias creo que es mejor primero ver que es lo que hace cada una de estas variables reservadas.
$_POST :Es una matriz asociativa de variables que fueron obtenidas por el método HTTP POST. Por lo general son enviadas por un formulario.
$_GET :Es una matriz asociativa de variables que fueron obtenidas mediante parametros URL. Son enviadas en la url:
$_COOKIE :Es una matriz asociativa de variables que fueron obtenidas mediante HTTP Cookies.
$_REQUEST :Es una matriz asociativa de variables que contiene todo lo que contiene $_GET, $_POST y $_COOKIE.
RECUPERANDO DATOS DEL FORMULARIO. VARIABLES
$_REQUEST
Cuando un usuario pulsa el botón enviar de un
formulario, la información que contenían sus campos es enviada a una dirección
URL desde donde tendremos que recuperarla para tratarla de alguna manera. Por
ejemplo, si realiza una compra, tendremos que recuperar los datos para
completar el proceso de pago. La información del formulario “viaja” almacenada
en variables que podremos recuperar y utilizar mediante PHP. Una de las formas
de recuperación consiste en usar $_REQUEST.
RECUPERAR VARIABLES CON REQUEST
REQUEST nos permite capturar variables enviadas
desde formularios con los métodos GET o POST. Vamos a ver dos ejemplos de
formularios (ejemplo1.html y ejemplo2.html), que en un caso se enviarán usando
GET y en otro usando POST. Ambos formularios enviarán la información (action) a
una página común desde donde recuperaremos los datos usando $_REQUEST.
El código de los archivos html sería el siguiente
para ejemplo1.html y ejemplo2.html. Escribe el código en un editor de texto
como Notepad++ y visualízalos en tu navegador:
<form name="formulario"
method="get" action="ejemploRequest.php">
Nombre:
<input type="text" name="nombre" value="">
<input type="submit" />
</form> |
<form name="formulario"
method="post" action="ejemploRequest.php">
Nombre:
<input type="text" name="nombre" value="">
<input type="submit" />
</form> |
Como podemos observar, el ejemplo1.html envía los
datos por GET mientras que el ejemplo2.html envía los datos por POST. Ahora
bien, la acción o destino donde se enviarán los datos es la misma en los dos
casos, la dirección ejemploRequest.php.
Escribe este código y guárdalo con un nombre de
archivo como ejemploRequest.php. A continuación, sube el fichero al servidor en
la misma carpeta donde subiste el ejemplo1.html y ejemplo2.html
<?php //Ejemplo aprenderaprogramar.com
$nombre
= $_REQUEST['nombre'];
echo
$nombre;
?>
|
A continuación, observa el resultado obtenido al
introducir el nombre tanto en el ejemplo1.html como en el ejemplo2.html, y
verás que es el mismo.
Vamos a explicar el proceso que ha tenido
lugar. El primer archivo es un documento HTML. Para ser más correctos,
deberíamos haberlo escrito de esta manera:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
</head>
<body>
<form name="formulario" method="get" action="ejemploRequest.php">
Nombre: <input type="text" name="nombre" value="">
<input type="submit" />
</form>
</body>
</html>
|
Sin embargo, comprobamos que los navegadores
tratan de interpretar y mostrar el resultado de un código HTML (o PHP) incluso
cuando la sintaxis o la definición del documento no es del todo correcta. Esto
debemos conocerlo, sin embargo recomendamos que siempre se trate de ser lo más
correctos posibles a la hora de escribir código web.
Vemos que hemos definido un formulario en cuya
cabecera hemos puesto que el método de envío de los datos va a ser el método
GET y que la URL de destino va a ser ejemploRequest.php. A su vez, el
formulario tiene un campo cuyo atributo name es “nombre”. Ese atributo define
el nombre de la variable que vamos a poder recuperar en la URL de destino. En
el archivo php hemos incluido la línea $nombre = $_REQUEST['nombre']; que significa
que creamos una variable php denominada $nombre donde almacenamos la
información del campo ‘nombre’ que recibe la URL a través del método GET
proviniente del formulario. Si tuviéramos otros campos que hubiéramos definido
como apellidos, teléfono, edad, el tratamiento sería similar. Por ejemplo:
$apellidos = $_REQUEST['apellidos'];
$telefono = $_REQUEST['celular'];
$edadPersona = $_REQUEST['edad'];
Fíjate en que una cosa es la variable en la que
almacenamos la información recuperada, y otra cosa es el nombre del campo del
formulario de donde proviene. Por ejemplo en $apellidos =
$_REQUEST['apellidos']; coinciden el nombre de la variable que utilizamos con
el nombre del campo del formulario. Sin embargo, en $telefono =
$_REQUEST['celular']; no coinciden. En este caso, el campo que proviene del
formulario se llama ‘celular’ mientras que la información que venga en ese
campo la almacenamos en una variable a la que hemos llamado $telefono.
Finalmente, en $edadPersona = $_REQUEST['edad']; estamos almacenando en una
variable a la que hemos llamado $edadPersona la información proviniente de un
campo del formulario denominado ‘edad’.
Con frecuencia los nombres de las variables y de
los campos del formulario se hacen coincidir, pero en otras ocasiones no. Esto
queda a elección del programador.
Ejemplo
Diseñar un desarrollo web simple con php que pida
al usuario el precio de tres productos en tres establecimientos distintos
denominados “Tienda 1”, “Tienda 2” y “Tienda 3”. Una vez se introduzca esta
información se debe calcular y mostrar el precio medio del producto. El envío
de datos debe hacerse por POST y la recuperación con REQUEST.
SOLUCIÓN
La solución esquematizada en pseudocódigo es la
siguiente:
1. Inicio
2. Mostrar “Introduzca el precio del producto
en el establecimiento número 1, en euros” : Pedir Precio1
3. Mostrar “Introduzca el precio del producto
en el establecimiento número 2, en euros” : Pedir Precio2
4. Mostrar “Introduzca el precio del producto
en el establecimiento número 3, en euros” : Pedir Precio3
5. Media = (Precio1 + Precio2 + Precio3) / 3
6. Mostrar “El precio medio del producto es”,
Media, “euros”
7. Fin
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
</head>
<body>
<form
name="formularioDatos" method="post"
action="ejemploRequest2.php">
<p>
CÁLCULO DEL PRECIO MEDIO DE UN PRODUCTO
</p>
<br/>
Introduzca el precio del
producto en el establecimiento número 1, en euros:
<input type="text" name="precio1" value="">
<br/>
<br/>
Introduzca el precio del
producto en el establecimiento número 1, en euros:
<input type="text" name="precio2" value="">
<br/>
<br/>
Introduzca el precio del
producto en el establecimiento número 3, en euros:
<input type="text" name="precio3" value="">
<br/> <br/>
<input value="Calcular" type="submit" />
</form>
</body>
</html>
|
Es posible que durante el desarrollo del curso te
encuentres visualizaciones de este tipo, donde podrás comprobar que los acentos
o tildes no se ven bien.
Recordarte que la solución a esto es, cuando
estamos trabajando con Notepad++, elegir en el menú Formato la opción
“Codificar en UTF-8 sin BOM”. En caso de que por error el archivo esté en otro
formato, elige “Convertir en UTF-8 sin BOM” para dejar correctamente la
codificación del archivo.
Por otro lado necesitamos el archivo php.
<?php //Ejemplo aprenderaprogramar.com
$precio1 = $_REQUEST['precio1'];
$precio2 = $_ REQUEST ['precio2'];
$precio3 = $_ REQUEST ['precio3'];
$media =
($precio1+$precio2+$precio3)/3;
echo "<br/> DATOS RECIBIDOS";
echo "<br/> Precio producto establecimiento
1: ". $precio1. " euros";
echo "<br/> Precio producto establecimiento
2: ". $precio2. " euros";
echo "<br/> Precio producto establecimiento
2: ". $precio3. " euros <br/>";
echo "<br/> El precio medio del producto es
de ". $media. " euros";
?>
|
FORMULARIOS
Los
Formularios no forman parte de PHP, sino del lenguaje estánder de Internet,
HTML, pero como éstos van a aperecer muchas veces durante el curso, vamos
a dedicar esta algunas líneas a ellos. Lo que viene a continuación es HTML y no
PHP.
Todo
formulario comienza con la etiqueta <FORM ACTION="lo_que_sea.php"
METHOD="post/get">. Con . Con ACTION indicamos el script que va
procesar la información que recogemos en el formulario, mientras que METHOD nos
indica si el usuario del formulario va ha enviar datos (post) o
recogerlos (get). La etiqueta <FORM> indica el final del formulario.
A partir
de la etiqueta <FORM> vienen los campos de entrada de datos que pueden
ser:
Cuadro de
texto:
<input
type="text" name="nombre" size="20"
value="jose">
Cuadro de
texto con barras de desplazamiento:
<textarea
rows="5" name="descripcion" cols="20">Es de
color rojo</textarea>
Casilla
de verificación:
<input
type="checkbox" name="cambiar" value="ON">
Botón de
opción:
<input type="radio" value="azul" checked
name="color">
Menú desplegable:
<select size="1&qu class="codigo"><select
size="1" name="dia">
<option selected value="lunes">lunes</option>
<option>martes</option>
<option value="miercoles">miercoles</option>
</select>
Boton de
comando:
<input
type="submit" value="enviar" name="enviar">
Campo
oculto:
<input type="hidden" name="edad" value="55">
Este
último tipo de campo resulta especialmente útil cuando que remos pasar datos
ocultos en un formulario.
Como
habrás observado todos lo tipos de campo tienen un modicador llamado name, que
no es otro que el nombre de la variable con la cual recogeremos los datos en el
script indicado por el modificador ACTION de la etiqueta FORMFORM, con value
establecemos un valor por defecto.
A
continuación veamos un ejemplo, para lo cual crearemos un formulario en HTML
como el que sigue y lo llamaremos formulario.htm:
<HTML>
<BODY>
<FORM METHOD="post" ACTION="mis_datos.php">
<input
type="hidden" name="edad" value="55">
<p>Tu nombre
<input type="text" name="nombre" size="30"
value="jose"></p>
<p>Tu sistema
favorito
<select
size="1" name="sistema">
<option selected
value="Linux">Linux</option>
<option
value="Unix">Unix</option>
<option
value="Macintosh">Macintosh</option>
<option
value=&qmargin-left: 75"><option
value="Windows">Windows</option>
</select></p>
<p>¿Te gusta el futbol ? <input type="checkbox" name="futbol"
value="ON"></p>
<p>¿Cual es tu sexo?</p>
<blockquote>
<p>Hombre<input
type="radio" value="hombre" checked
name="sexo"></p>
<p>Mujer <input
type="radio" name="sexo"
value="mujer"></p>
</blockquote>
<p>Aficiones</p>
<p><textarea rows="5"
name="aficiones" cols="28"></textarea></p>
<p><input
type="submit" value="Enviar datos"
name="enviar">
<input
type="res-left: 50"> <input type="reset"
value="Restablecer" name="B2"></p>
</FORM>
</BODY>
<HTML>
Y ahora
creemos el script PHP llamado desde le formulario mis_datos.php:
<?PHP;
if
($enviar) {
echo "Hola <b>" . $nombre .
"</b> que tal estás<BR>\n";
echo "Eres " . $sexo .
"<BR>\n";
echo "Tienes " . $edad .
"<BR>\n";
echo "Tu sistema favorito es " . $sistema
. "<BR>\n";
if ($futbol) {
echo "Te gusta el futbol <BR>\n";
} else odigo"
style="margin-left: 50">} else {
echo "NO te gusta el futbol
<BR>\n";
}
if ($aficiones != "") {
echo "Tus aficiones son: <BR>\n";
echo nl2br($aficiones);
} else {
echo "NO tienes aficiones <BR>\n";
}
}
echo
"<a href='formulario.htm'>VOLVER AL FORMULARIO</a>"
?>
Una vez
rellenados los datos del formulario, pulsamos el botón Enviar datos, con
lo que le campo enviar toma lo que su etiqueta value indica, es decir enviar="Enviar
datos". En nuestro script lo primero que evaluamos es que se
haya enviado el formulario, y para ello nada mejor que comprobar que la
variable $enviar no está vacia. Le ponemos el signo dolar delante a enviar,
ponemos el signo dolar delante a enviar, ya que en PHP todas las
variables se les refiere con este signo.
Pero y
fusionaramos el código de ambos fichero, nos ahorrariamo uno. Si la variable
$enviar está vacia, enviamos el formulario.
<?PHP;
if
($enviar) {
echo "Hola <b>" . $nombre .
"</b> que tal estás<BR>\n";
echo "Eres " . $sexo . "<BR>\n";
echo "Tienes " . $edad .
"<BR>\n";
echo "Tu sistema favorito es " . $sistema
. "<BR>\n";
if ($futbol) {
echo "Te gusta el futbol <BR>\n";
} else {
echo "NO te gusta el futbol
<BR>\n";
}
if ($aficiones != "") {
echo "Tus aficiones son: <BR>\n";
echo nl2br($aficiones);
} else {
echo "NO tienes aficiones <BR>\n";
}
echo "<a href='$PHP_SELF'>VOLVER AL
FORMULARIO</a>"
} else {
<HTML>
<BODY>
<FORM
METHOD="post" ACTION="<?PHP echo $PHP_SELF ?>">
<input
type="hidden" name="edad" value="55">
<p>Tu nombre <input
type="text" name="nombre" size="30" nombre"
size="30" value="jose"></p>
<p>Tu sistema
favorito
<select
size="1" name="sistema">
<option selected
value="Linux">Linux</option>
<option
value="Unix">Unix</option>
<option
value="Macintosh">Macintosh</option>
<option
value="Windows">Windows</option>
</select></p>
<p>¿Te gusta el futbol ? <input type="checkbox" name="futbol"
value="ON"></p>
<p>¿Cual es tu sexo?</p>
<blockquote>
<p>Hombre<input
type="radio" value="hombre" checked
name="sexo"></p>
<p>="codigo"
style="margin-left: 100"><p>Mujer <input
type="radio" name="sexo"
value="mujer"></p>
</blockquote>
<p>Aficiones</p>
<p><textarea rows="5"
name="aficiones" cols="28"></textarea></p>
<p><input
type="submit" value="Enviar datos"
name="enviar">
<input type="reset"
value="Restablecer" name="B2"></p>
</FORM>
</BODY>
</HTML>
<?PHP
} //fin IF
?>
La
variable de entorno $PHP_SELF, es una variable de entorno que nos devuelve el
nombre del script que estamos ejecutando. Y por último, hacer notar el uso de
la función nl2br(), nl2br(), con la cuál sustituimos los retornos de carro del
texto, los cuáles no reconocen los navegadores, por la etiqueta
<BR>.
TABLAS
Ya hemos dicho que esta etiqueta nos indica que empieza una tabla, pero… ¿podemos predefinir características de esa tabla? Por supuesto que sí. Una tabla admite muchos parámetros. Nosotros vamos a explicarte los principales.
La tabla: <table>
Como ya ocurre con la etiqueta body, a una tabla también lo podemos definir el fondo de la misma. Esto lo podemos conseguir con el parámetro "bgcolor", que nos pondrá un color de fondo, o "background" para poner una imagen de fondo. Recuerda que si la imagen es más pequeña que la tabla, ésta se repetirá tanto a lo ancho como a lo largo.
Otro aspecto que podemos definir de la tabla es el borde. Esto lo haremos con el parámetro "border". Como en todas los parámetros que ya hemos visto escribiremos: border= "x" siendo la x un número. Ese número indicará el grosor del borde. Si no ponemos borde o lo escribimos "0", la tabla no mostrará borde ninguno. Por supuesto, también podemos darle color al borde, escribiendo la etiqueta "bordercolor" e indicando el color que queramos para nuestro borde.
El parámetro "width" indircará la anchura de la tabla. Esta anchura la podemos poner en píxeles (width= "300") o con porcentaje (width= "100%").
Dos parámetros más son cellspacing (que define el espacio entre las celdas de la tabla) y cellpadding (que le marca a la tabla el espacio que debe dejar alrededor del texto dentro de una celda).
Como ejemplo, escribiremos el hipotético supuesto de querer una tabla que sea ancha al 100%, con un borde azul de un píxel de grosor y con un cellpadding de 10 y con un cellspacing de 10. El código quedaría de la siguiente forma.
<table width="100%"
border="1" bordercolor="#0000FF" cellspacing="10"
cellpadding="10"></table>
Una vez explicadas las tablas, vamos a pasar a
explicarte las partes fundamentales de las mismas.
Las filas: <tr>
Como hemos visto en el encabezado las filas se
escriben gracias a las etiquetas <tr> con su correspondiente cierre
</tr>. El contenido de las columnas que están dentro de la fila lo
podemos alínear tanto horizontal como verticalmente.
Para alinearlo verticalmente utilizaremos el
atributo "valign" para poder alinearlo arriba de la celda
("top"), en el centro ("middle") o debajo
("bottom").
Para alinearlo horizontalmente utilizaremos el
atributo "align". Con este atributo podremos alinear el contenido de
las celdas en el centro ("center"), a la izquierda
("left"), a la derecha ("right") o justificado ("justify").
Por supuesto a las filas también les podemos
definir el color de fondo ("bgcolor") y el color del borde
("bordercolor").
Las celdas <td>
Las celdas que van dentro de cada fila las
tenemos que escribirlas con la etiqueta <td> y su correspondiente cierre
</td>.
Al igual que en las filas, en las celdas podemos
definir el la alineación del contenido que está dentro con los atributos
"valign" y "align".
Las celdas poseen unos atributos que nos ayudan a
poder agrupar tantas celdas o tantas columnas como indiquemos en él. Para
agrupar celdas utilizaríamos el atributo "colspan" y para agrupar
celdas el atributo "rowspan".
Por ejemplo, para agrupar en una celda 2 columnas
tenemos que escribir: <td colspan="2"></td>. Y para
agrupar dos filas, la indicación sería la siguiente: <td rowspan=
"2"></td>.
Las celdas <th>
Las celdas escritas con la etiqueta <th> y
su correspondiente cierre, admiten los mismos atributos que las etiquetas
<td> y funcionan de la misma forma, salvo que el contenido que esté
dentro de una etiqueta <th> está considerado como el encabezado de la
tabla, por lo que se creará en negrita y centrado sin que nosotros se lo
indiquemos.
A continuación vamos a ponerte un pequeño ejemplo
de una tabla que combina todas las cosas que hemos ido viendo en el artículo.
Estúdiate primero el código, visualiza cómo quedaría la tabla y luego mírala en
el enlace siguiente: Ejemplo de tabla.
<table width="100%"
border="1" cellpadding="0" cellspacing="0"
bordercolor="#000000">
<tr> <th>Encabezado 1</th> <th>Encabezado 2</th> <th>Encabezado 3</th> </tr> <tr> <td rowspan="2" valign="middle" align="left">Este texto está alineado al centro verticalmente y a la izquierda horizontalmente</td> <td> </td> <td> </td> </tr> <tr> <td colspan="2"> </td> </tr> </table> |
NOWRAP
nowrap es un atributo que le podemos colocar a la
etiqueta de la celda y que obligará al navegador a no romper esa línea, o sea,
a no hacer ningún salto de línea. Con este atributo en la celda, el navegador
no respeta el ancho predefinido de la tabla, si es que lo hubiera, y respeta el
ancho de la frase, ya que no puede partirla.
Por tanto, si la frase es más larga que el ancho
definido de la tabla, ésta se estirará todo lo necesario para albergar la frase
sin saltos de línea. El siguiente código nos mostrará como escribir este
atributo en la etiqueta de la celda:
<table width="400"
border="1" cellpadding="10" cellspacing="0"
bordercolor="#000000">
<tr> <td nowrap>Aunque este texto sea más ancho que los 400 píxeles de la tabla, ésta no puede dividir mediante saltos de línea el contenido de la misma, por lo que se estira para albergar toda la frase.</td> </tr> </table> |
Y a continuación podemos ver el efecto del
atributo:
Aunque este texto sea más ancho que los 400
píxeles de la tabla, ésta no puede dividir mediante saltos de línea el
contenido de la misma, por lo que se estira para albergar toda la frase.
|
Etiqueta “caption”
Esta etiqueta sirve para poder ponerle un título o encabezado a la tabla. Puedes poder el encabezado arriba o abajo, dónde tu prefieras, mediante la etiqueta "align": "align=top" para ponerlo arriba y "align=bottom" para ponerlo abajo. En el siguiente ejemplo nosotros lo hemos puesto abajo.
Esta etiqueta sirve para poder ponerle un título o encabezado a la tabla. Puedes poder el encabezado arriba o abajo, dónde tu prefieras, mediante la etiqueta "align": "align=top" para ponerlo arriba y "align=bottom" para ponerlo abajo. En el siguiente ejemplo nosotros lo hemos puesto abajo.
<table width="50%"
border="1" align="center" cellpadding="0"
cellspacing="0" bordercolor="#000000">
<caption align="bottom">Encabezado de la tabla.</caption> <tr> <td align="center">Tablita de ejmplo para la etiqueta "caption"</td> </tr> </table> |
Crear una base de datos
Veremos en esta página cómo se pueden crear bases
de datos MySQL y sus tablas desde una página web hecha con php.
Vamos a empezar primero por crear una base de
datos.
Para crear una nueva base de datos, una vez
conectado con MySQL escribiremos el siguiente código MySQL:
$sql="create database `nombreBase`";
Observa que el nuevo nombre de la base de datos
se escribe entre los signos ` ` Es decir el signo del acento grave , para
escribirlo pulsaremos la tecla del acento grave (a la derecha de la
"P") y despues el espaciador.
Como siempre, después de escribir la línea con el
lenguaje MySQL, debemos mandar la instrucción mediante la función
mysql_query();. El código completo para crear una nueva base de datos será el
siguiente.
<?php
$db=mysql_connect("localhost","root","");
$sql="create
database `miagenda`";
mysql_query($sql,$db);
mysql_close($db);
?>
En este ejemplo hemos creado una nueva base de
datos llamada "miagenda". La base de datos creada está de momento
vacía (sin tablas ni ningún dato). Si ejecutamos el código de nuevo, se
comprueba primero si la base existe, por lo que no se vuelve a crear de nuevo.
Podemos comprobar que la base de datos se ha
creado, abriendo phpMyAdmin, donde veremos que hay una nueva base de datos con
el nombre que le hayamos dado.
También podemos poner como nombre de la base de
datos una variable, en ese caso la base de datos tomará el nombre del valor de
la variable, por lo que mediante formularios podemos hacer que cada usuario
tenga su propia base de datos.
$nombre="anyelguti"
$sql="create database `$nombre`";
$sql="create database `$nombre`";
Mostramos aquí la variable y la forma de
insertarla en el código MySQL, por supuesto no debemos de olvidar nunca que el
código MySQL (recogido en la variable $sql) debe ir siempre dentro de la
conexión, es decir entre las funciones $db=mysql_connect(); y
mysql_close($db);. Tampoco debemos olvidar nunca mandarlo a MySQL mediante la
función mysql_query($sql,$db);.
Decimos esto porque a partir de ahora mostraremos
, para manejar bases de datos, simplemente el código MySQL, dando por supuesto
que hay que incluir el resto del código en la página.
Insertar nuevas tablas
Una vez que hemos creado la base de datos,
debemos insertar en ella las tablas que la forman. Para ello, como siempre
conectamos a MySQL y tal como vimos en el apartado anterior, conectamos con la
base de datos:
$db=mysql_connect("localhost","root","");
mysql_select_db("miagenda",$db);
mysql_select_db("miagenda",$db);
Pondremos después el código para crear la tabla:
$sql
= "create table `agenda` (`IDagenda` int(6) not null auto_increment
primary key) type = MyISAM;";
Hemos creado aquí una tabla llamada
"agenda" con un único campo llamado "IDagenda". Vamos a
explicar el código:
·
create table `agenda` : Para crear un
elemento escribimos primero la palabra create, después indicamos el tipo de
elemento que deseamos crear, en este caso table y por último entre `comillas`
se escribe el nombre del elemento, en este caso de la tabla. Observa que en
realidad no son comillas, sino el acento grave, tal como hicimos para insertar
la base de datos.
·
(`IDagenda` : Dentro del paréntesis
escribiremos los datos de los campos que formarán la tabla. En primer lugar, y
entre acentos, escribimos el nombre del primer campo.
·
int(6) : Escribimos después el tipo de
campo tal como vimos en el tema anterior al crearlos con phpMyAdmin (int=num
entero, float=num decimal, varchar=alfanumérico, text=texto largo, etc), y
seguido, entre paréntesis la longitud máxima de ese campo.
·
not null auto_increment primary key) : A
continuación ponemos el resto de propiedades del campo, es decir en este caso
not null indica que el campo no puede ser nulo. auto_increment indica que es un
campo de auto incremento. y primary key indica que eel campo será la clave
primaria. si quisieramos incluir más campos los pondríamos a
continuación,separado por una coma, y siguiendo los mismos pasos. Como no vamos
a incluir más, cerramos el paréntesis.
·
type = MyISAM; : esta instrucción debemos
ponerla siempre al final, para indicar cómo debe manejar los datos MySQL. en
realidad podemos poner también engine = MyISAM;.
El código MySQL es indiferente escribirlo en
mayúsculas o minúsculas, por tanto podemos poner tanto create table como CREATE
TABLE; sin embargo los nombres de los elementos creados, (tablas y campos), sí
distinguen entre mayúsculas y minúsculas, por lo que si un campo lo creamos con
su nombre en mayúscula, cuando vayamos a buscarlo o leer sus datos, deberemos
escribirlo de la misma manera. Igualmente la palabra MyISAM debemos escribirla
tal como está aquí, ya que se refiere a un tipo de código.
Por último, como es habitual, mandamos el código,
y cerrarmos la conexión:
mysql_query($sql,$db);
mysql_close($db);
mysql_close($db);
Incluir más campos
Incluiremos ahora el resto de los campos en la
tabla creada anteriormente, para ello utilizamos el código siguiente:
$sql="alter table `nombre_tabla` add
`nuevo_campo` propiedades, add `nuevo_campo` propiedades";
Después de escribir alter table, en
`nombre_tabla`escribiremos el nombre de la tabla. Para insertar nuevos campos
escribimos la instrucción add, seguida del nombre del campo (`nuevo_campo`) y a
continuación las propiedades del campo (varchar(50) not null default''). Para
insertar otro campo, lo separaremos del anterior mediante una coma, y
empezaremos otra vez por la instrucción add.
Seguimos ahora con el ejemplo anterior, en el
cual incluimos en la tabla nuevos campos. El código será el siguiente:
<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("miagenda",$con);
$sql
= "alter table `agenda`
add `nombre` varchar(50) not null
default '',
add `telefono` int(9) not null default
'000000000',
add `email` varchar(100) not null
default '---@---',
add `descripcion` text(2000) not null
default '' ";
mysql_query($sql,$con);
mysql_close($con);
?>
para incluir cada uno de los campos debemos,
además de poner la pàlabra add delante del nombre, incluir las instrucciones
not null y default ''. La instrucción not nul indica que no es un campo nulo, y
la instrucción default indica el valor por defecto que tomará el campo, el cual
debemos indicarlo seguidamente entre comillas.
BIBLIOGRAFIA
No hay comentarios:
Publicar un comentario