Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
MySQL – Consultar datos en MySQL (CLASE 12)
#1
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 coneccion 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.

Código PHP:
// 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.

Código PHP:
// 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.

Código PHP:
<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.

Código PHP:
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, Introduccion Sql

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

Código PHP:
<?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.


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Problema conexion remota mysql efbsfcd 2 85 07-07-2017, 07:19 AM
Último mensaje: efbsfcd
  Las bases de datos más grandes del mundo Smithcanal 3 135 06-06-2017, 04:16 PM
Último mensaje: easy english
  [Tutorial] Pasar MySQL a MySQLi[POO] amner 6 231 03-05-2017, 02:05 AM
Último mensaje: ReyNexo23
  Como subir Archivos, Imagenes PHP MysQL gassip 0 613 24-10-2016, 06:59 AM
Último mensaje: gassip
  [Tutorial] Pasar base de datos MySQL por SSH FullPirata 1 207 11-10-2016, 04:12 PM
Último mensaje: efbsfcd
  falla conexion a mysql [email protected] 4 411 01-09-2016, 06:52 AM
Último mensaje: easy english
  GOOGLE CHARTS: INTRODUCCION A LA VISUALIZACION DE DATOS, GRAFICAS, MAPAS Y MAS khristia 2 233 16-08-2016, 08:27 PM
Último mensaje: efbsfcd
  Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL cmascreativo 1 329 18-02-2016, 09:55 PM
Último mensaje: index
  [Aporte] Codigo para renombrar tabla MySQL gassip 3 283 23-12-2015, 08:10 AM
Último mensaje: AbaddonOrmuz
  [Duda] Cómo puedo usar python para calcular datos y mostrarlos vía php piero.cpvd 3 544 05-12-2015, 12:12 PM
Último mensaje: midd_98



Usuarios navegando en este tema: 1 invitado(s)