Marcofbb Noticias y Artículos Webmasters




MySQL - Consultar datos en MySQL

  • 18/03/2011
  • 2:55 am
  • marcofbb

En esta clase vamos a ver como consultar datos desde la Base de Datos, esto es una tarea muy comun para crear cualquier tipo de script, ya sea una agenda, un sistema de usuarios, ect.

Las clases anteriores fueron: Como hacer conexion a la Base de Datos y Como insertar datos, sino lo leiste te recomiendo que lo hagas.

Extrayendo y mostrando los datos

Para extraer datos de la Base de Datos, vamos a crear una variable que contenga la consulta SQL (SELECT, INSERT, UPDATE, etc.) y despues la agregamos a la función mysql_query. Entonses primero incluimos el archivo config.php que crea la conexion a MySQL y depues creamos la consulta.

// Incluimos la configuracion y conexion a la MySQL.
include('config.php');
// Definimos el ID de la persona a editar.
$id = htmlentities($_GET['id']);
// Mostramos los datos
$sql = "SELECT * FROM personas WHERE id='".$id."' LIMIT 1";
$query = mysql_query($sql,$link);
$row = mysql_fetch_assoc($query);

En este caso, vamos a extraer datos de la persona cuyo id es el que nosotros pongamos en la url, Ejemplo: ver.php?id=1 mostrara datos de la persona que tenga el id 1.
El id se obtiene via GET osea desde la URL.

mysql_fetch_assoc devolverá un array asociativo con el siguiente registro devuelto por la consulta. Para mostrar los datos hacemos un echo a $row['nombre del campo'];

Por ejemplo tengo el campo nombre en la Base de Datos y lo quiero imprimir en pantalla.

// Devolvera el nombre de la persona cuyo id es el que definimos
echo $row['nombre'];

Esta explicación esta asociada con el archivo ver.php en el cual esta para descargar en el pie del artículo.

Crear un buscador

Una vez que entendiron como pedir datos de la MySQL, podemos crear un buscador de personas para nuestra agenda.

Para esto creamos un formulario, donde hay que introducir el nombre de la persona a buscar.

<form action="buscar.php" method="get">
<input type="text" name="q" id="q" />
<input type="submit" name="agendar" value="Buscar" />
</form>

Una vez enviado el formulario, recuperamos los datos, los precesamos y lo enviamos a la consulta. Primero verificamos que se alla apretado el boton Agendar y se alla enviado escrito algo en el input q, pasamos la información del input q a una variable y le ponemos un poco de seguridad con la función htmlentities y ahora si creamos la variable con la consulta SQL.

if($_GET['agendar'])
{
	// Verificamos que no alla ningun dato sin rellenar.
	if(!empty($_GET['q']))
	{
		$nombre = htmlentities($_GET['q']);
		$sql = "SELECT * FROM personas WHERE nombre LIKE '%".$nombre."%'";
		$query = mysql_query($sql,$link);
		// Mostramos un mensaje diciendo que todo salio como lo esperado
		$msg = "Resultados para el nombre ".$nombre;
	} else { 
		// Si hay un dato sin rellenar mostramos el siguiente texto.
		$msg = "Falta rellenar algun dato"; 
	}
}

En la consulta vamos a utilizar la sentencia LIKE explicada en la clase, Introducción SQL

Como una busqueda puede tener de 1 a infinitos datos, para mostrar los datos vamos a utilizar un while.

<?php
if($_GET['agendar'] && !empty($_GET['q'])){
while($row = mysql_fetch_assoc($query)){
?>
<a href="ver.php?id=<?=$row['id']?>"><?=$row['nombre']?></a>
<?php
}
}
?>

En este ejemplo mostrara toda las personas que en su nombre contengan las letras introducidas en el input q, y con un while creara una lista con cada nombre y su respectivo link de perfil.

Esta explicación esta asociada con el archivo buscar.php en el cual esta para descargar en el pie del artículo.

Hilo donde están todos los artículos para aprender PHP

Descargar

Share

Posts Relacionados

Total de Comentarios: 2

Avatar
18/03/2011
2:56 am

[...] Clase 1: Primeros pasos en PHP Clase 2: Variables y Constantes Clase 3: Estructura condicional (if/elseif/else) Clase 4: Tipos de bucles (while, Do while, for y foreach) Clase 5: Envío de datos de un formulario Clase 6: Vectores, Array, Arreglos en PHP Clase 7: Funciones en PHP Clase 8: Base de Datos Clase 9: MySQL – Crear conexión Clase 10: MySQL – Introducción SQL Clase 11: MySQL – Insertar datos Clase 12: MySQL – Consultar datos en MySQL [...]

Avatar
30/08/2012
1:39 pm

[...] conexión Clase 10: MySQL – Introducción SQL Clase 11: MySQL – Insertar datos Clase 12: MySQL – Consultar datos en MySQL Clase 13: MySQL – Editar [...]


Enviar Comentario

(*)

(*)