viernes, 31 de enero de 2014

Día 50. Biblioteca (III)

Mientras sube el profesor los comandos para hacer todo el programa, estoy haciendo la página inicial que no requiere de PHP, sólo HTML.

Creo un frameset dividido en dos páginas. El código es el siguiente:

Index:


Título:


Cuerpo:


El resultado (provisional) es este:


En esta ocasión, cuándo pulse sobre Mostrar libros, Buscar, Editar libros o Configurar secciones se mantendrán todas esas secciones y en la zona de la estantería se cargará la página PHP.

El siguiente paso va a ser ya montar el código en los .php.

Para hacer las llamadas a la base de datos, necesitaré ciertas funciones. Pongo a continuación las requeridas, sacas de un documento enviado por el profesor.

1. Conectar al servidor de la base de datos
Sintaxis: mysql_connect( servidor, usuario, contraseña)

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
// some code
mysql_close($con);
?>

2. Selección de la base de datos
Sintaxis: @mysql_select_db (basededatos, $conexion)

$bd_seleccionada = mysql_select_db('nombreBaseDeDatos', $conexión);
if (!$bd_seleccionada) {
    die ('No se puede usar nombreBaseDeDatos : ' . mysql_error());
}

3. Consulta MySQL
Sintaxis: mysql_query(query,connection)

$sql = "SELECT * FROM Person";
mysql_query($sql,$con);
Hay otros tipos de consultas. Si hago el módulo de búsqueda, me interesa un SELECT, si quiero borrar, DELETE, INSERT para agregar y UPDATE para actualizar los datos.

4. Devuelve todos regitros antes mostrados.
Sintaxis: mysql_fetch_array(data,array_type)

<?php
$con = mysql_connect("localhost", "peter", "abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person WHERE Lastname='Refsnes'";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));
mysql_close($con);
?>
En esta ocasión si quiero que se muestre, podemos escribir $variable[posicionVector/nombreCampo]. Tal y como está en este ejemplo, mostraría toda la información sin estructurar.

5. Cerrar la sesión de la base de datos 
Sintaxis: mysql_close

mysql_close(connection)
mysql_close($con);



A la hora de hacer la búsqueda, se realizará a través de un formulario, un cuadro de entrada.

<form method="POST" action="buscar.php">
     <input name="Titulo" type="text" size="50" maxlength="100">
     <input name="submit" type="submit" value="A Buscar">

Lo que hacemos es que este formulario se llama a sí mismo en Action.
El primer input le indicamos que sea de tipo texto, con una longitud de 50 ¿píxeles? y con un máximo de cien caracteres.
El segundo input es tipo submit. Es decir, crea un valor. En la etiqueta value crea el texto que queremos que se muestre. Lo que hace un submit es la función referenciada en el parámetro action.
La sección de POST sirve porque en el PHP crearemos una variable que haga referencia a ese cuadro de búsqueda. Es decir: 


$var1=$_POST["Titulo"];
Posteriormente convertiremos esa variable en cadena de texto

settype($var1,"string");

Y luego para mostrar la búsqueda sería repetir los pasos de las sentencias que he escrito arriba.

Hay que tener en cuenta que, en PHP, las cadenas de caracteres se ponen con dobles comillas, pero sin embargo si combino con valores de variables, usaré comillas simples para el contenido PHP.

$prueba=
"SELECT Id, Titulo
FROM libros
WHERE Titulo= '$valor1'";

También se deberá reiterar la construcción de tantas filas (en la tabla), como registros hay en la base de datos.

Para mostrar información enlazada a otra tabla, deberé hacer otra consulta para traer el campo correspondiente.

Si se quiere comprobar que estamos yendo bien, o tener los error controlados, lo idóneo sería hacer que muestre un mensaje si una variable esta fallando, con un mensaje personalizado. Ejemplo

if (! $prueba) {
echo "Hay errores en la consulta";
exit();
Ahora, para que muestre los resultados, por ejemplo en una tabla., la indicamos código PHP para escribir el valor de la búsqueda, todo esto metido dentro de un while.

<table>
<td><?PHP echo $busqueda["CampoAMostrar"];?></td>
<td><?PHP echo $busqueda["CampoAMostrar"];?></td>
<td><?PHP echo $busqueda["CampoAMostrar"];?></td>
<td><?PHP echo $busqueda["CampoAMostrar"];?></td>
</table>

Esto es todo por hoy. La semana que viene comenzaré a hacer el código PHP

0 comentarios:

Publicar un comentario