Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de PHP

PHP: imprescindible para crear páginas web de modo profesional


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 75

Visitas el mes pasado: 247

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Curso de PHP
www.programaciónweb.net
Lecciones PHP
WebTaller.com
Manual de PHP
manualdephp.com
Curso de PHP
Aula Fácil.com
Manual de PHP en español
manual-php.com
PHP a fondo
desarrolloweb.com
Manual de PHP
Foros del Web
Manual de PHP
www.php.net
PHP Tutorial
w3schools.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




16. Resumen(XI)

16.11 Bases de datos II

php

Esta página es continuación de la anterior, seguimos aquí con el manejo de bases de datos con PHP.

Leer datos de una tabla

Para leer los datos que hay en una tabla utilizaremos el siguiente código en MySQL:

$sql="select * from `nombre_tabla`";

Escribimos el código select * from seguido del nombre de la tabla.

Utilizamos después el mismo código PHP usado en los apartados anteriores, y que hemos incluido en la función conecta_db(). Para leer la tabla agenda creada anteriormente escribiremos:

$ruta = "conexion.php";
$sql = "select * from `agenda`";
$datos = conecta_db($ruta,$sql);

Los datos que pedimos están dentro de la variable $datos, pero esta variable no podemos leerla directamente ya que si intentamos sacarla en pantalla con la instrucción echo, nos dará un resultado parecido a esto:

Resource id #17

Para poder leerla PHP dispone de varias funciones. La más usada es mysql_fetch_array() a la que le pasamos como único argumento la variable obtenida $datos.

El resultado es un array a la vez indexado y asociativo en el que obtenemos el primer registro de la tabla.

Esto significa que en el array obtenemos el primer registro dos veces, una con array indexado, en el que los índices son el orden en que aparecen los campos, y otra como array asociativo, en el que la clave es el nombre del campo.

La función mysql_fetch_array() tiene un puntero interno que hace que una vez llamada salte hacia el siguiente registro, por lo que si volvemos a llamarla otra vez veremos el segundo registro. Cada vez que llamamos a la función el puntero interno avanza un registro, hasta que se leen todos.

Mostrar los nombres de los campos.

Para mostrar los nombres de los campos no necesitamos más que un registro, del cual extraemos las claves del array asociativo que se crea con mysql_fetch_array()

El código será parecido al siguiente.

$ruta = "conexion.php"; //archivo con datos de conexión a la base
$sql = "select * from `agenda`"; //código MySQL
$datos = conecta_db($ruta,$sql); //función de conexión con la base.
$campos=array(); //array donde guardaremos los datos.
$row=mysql_fetch_array($datos); //extraer datos de un registro
foreach ($row as $clave=>$valor) { //recorrer array de primer registro.
         if (is_string($clave)) { //sólo para array asociativo ...
            echo "$clave, ";  //extraemos la clave y la vemos.
            array_push($campos,$clave); //guardamos la clave en un array.
            }
         }

Leer los registros

La función mysql_fetch_array()sólo lee un registro, y mueve después el puntero interno hacia el siguiente registro. Necesitamos por lo tanto un bucle que repita esta función mientras que siga habiendo registros. Utilizaremos para ello el bucle while.

$ruta = "conexion.php"; //archivo con datos de conexión a la base
$sql = "select * from `agenda`"; //código MySQL
$datos = conecta_db($ruta,$sql); //función de conexión con la base.
while ($row=mysql_fetch_array($datos)) { //Bucle para ver todos los registros
      $nombre=$row['nombre']; //datos del campo nombre
      $telefono=$row['telefono']; //datos del campo teléfono
      $email=$row['email']; //datos del campo email
      echo "<p>$nombre, $telefono, $email. </p>"; //visualizar datos
      }

Dentro del bucle utilizamos los nombres de los campos para buscar los datos. Éstos son las claves del array $row que se crea en cada vuelta.

Ordenar registros.

Tenemos la opción de mostrar los registros ordenados, para ello variamos el código MySQL:

$sql="select * from `agenda` order by `nombre`";

Añadimos al final la instruccion order by seguido del nombre del campo que utilizamos para ordenar los registros.

Los registros aparecerán ordenados de forma ascendente, es decir si son números de menor a mayor, y si son textos, por orden alfabético.

También podemos ordenar los registros por orden descendente, incluyendo al final del código anterior la palabra desc.

$sql="select * from `agenda` order by `nombre` desc";

Buscar registros

Otra de las tareas frecuentes en una base de datos es buscar los datos pertenecientes a un mismo registro. Para buscar un registro debemos al menos saber un dato del mismo. Por ejemplo para buscar un teléfono debemos saber el nombre. El dato que sabemos es el dato de referencia, y los otros son los datos buscados.

Podemos hacer una búsqueda exacta o aproximada, dependiendo de si nos sabemos el dato de referencia de forma exacta o aproximada.

Búsqueda exacta.

En la búsqueda exacta debemos escribir el dato que conocemos de forma completa.

Para realizar una búsqueda seleccionamos primero la tabla entera, y después restringimos los registros mediante una condición. Este es el código en MySQL:

$sql="select * from `nombre_tabla` where `campo` = 'dato'"

Seleccionamos primero la tabla mediante select * from seguido del nombre de la tabla. Después marcamos la condición mediante where seguido del nombre del campo que conocemos, el signo igual, y el dato que conocemos.

El resto de código PHP es igual que para mostrar la tabla completa.

$ruta = "conexion.php"; //archivo con datos de conexión a la base
$sql = "select * from `agenda` where `nombre` = 'Vicente Gracia'"; //código MySQL
$datos = conecta_db($ruta,$sql); //función de conexión con la base.
while ($row=mysql_fetch_array($datos)) { //Bucle para ver todos los registros
      $nombre=$row['nombre']; //datos del campo nombre
      $telefono=$row['telefono']; //datos del campo teléfono
      $email=$row['email']; //datos del campo email
      echo "<p>$nombre, $telefono, $email. </p>"; //visualizar datos
      }

El hecho de utilizar un bucle para una búsqueda es porque puede haber en la tabla más de un registro con el dato buscado. En este caso se mostrarían todos los registros que coinciden.

Búsqueda aproximada.

Es posible que no sepamos el dato de referencia de manera exacta. En este caso podemos hacer una búsqueda aproximada, lo único que cambia respecto de la anterior es el código MySQL:

$sql="select * from `tabla` where `campo` like 'dato%'";

Respecto al código anterior cambiamos el signo igual = por la palabra like, y en el dato podemos poner tanto delante como detrás el signo % que es un comodín que sustituye a cualquier cadena que pueda haber tanto por delante (si lo ponemos delante), como por detrás (si lo ponemos detrás).

De esta manera podemos buscar en los campos datos que tengan una cierta similitud con el que buscamos.

El resto del código PHP es exactamente igual que para la búsqueda exacta.

Más sobre MySQL

El lenguaje SQL (o MySQL) tiene más posibilidades para trabajar con bases de datos. Para ver más consulta el manual de SQL en http://aprende-web.net/progra/sql/sql_1.php

Funciones para bases de datos

Además de las funciones vistas hasta ahora hay otra serie de funciones que pueden facilitarnos el trabajo con las bases de datos.

Funciones para consulta de datos

Las siguientes funciones se usan para consultar los datos extraídos.

Funciones de campos.

Con la conexión abierta:

Información de conexión

Las siguientes funciones nos dan información sobre el programa que alberga las bases de datos y el tipo de alojamiento:

Más funciones

Hemos visto aquí las principales funciones que se pueden usar con las bases de datos. Existen más funciones aunque no suelen ser muy habituales.

Puedes ver la lista completa de funciones de PHP para bases de datos con MySQL en http://www.php.net/manual/es/book.mysql.php






El siguiente tema es una introducción a la programación con objetos en PHP.

Objetos en PHP



manual de PHP

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com