Skip to content

Como hacer una consulta en php y mysql

noviembre 2, 2010

En esta ocasión aprenderás de forma sencilla como programar en php una consulta a tu base de datos (recuerda estamos trabajando con mysql, php y apache). Si tienes que entregar un proyecto pronto, si tienes que terminar esa tarea a entregar, si quieres sobresalir en la clase o bien estas aprendiendo a programar en php, esto te ayudara, es como un mini tutorial para realizar consultas.

 Si has tomado la decisión de aprender a programar en php para dedicarte a desarrollar proyectos como freelance y obtener ingresos extras, ten por seguro que las tareas mas solicitadas son las consultas a una bases de datos, por ejemplo: cuando tienes que obtener información específica de un producto o bien cuando necesitas mostrar información en tu página de interés para el visitante.

De echo si estas desarrollando una base de datos para un proyecto escolar ten por seguro que mientras mas eficiente sean tus consultas mejor será tu ponderación en la calificación, las bases de datos que mayor éxito tienen son las que entregan mejores resultados en las consultas.

 Vamos pues a explicar paso a paso como puedes realizar una consulta, antes recuerda tener instalado el apache, el php y el mysql si aún no los tienes revisa mis artículos anteriores hay detallo de donde descargarlo, como instalarlo y configurarlo.

Explico el contexto, tengo una base de datos llamada “almacen” y en ella he creado una tabla con los siguientes campos y que se llama“productos (id, codigo, nombre, precio, existencia)”, en el phpmyadmin de localhost; lee los artículos anteriores para que veas como se configura y dentro de ella he insertado los siguientes registros:  (Null, 1234, producto 1, 12, 34) y (Null, 3456, producto 3, 34, 45).

Paso 1: Generamos el documento html que contendrá el formulario del cuál pedimos la consulta, en este ejemplo la consulta nos regresa el nombre, el precio y la existencia filtrado por el código del producto, así que mi formulario solo contiene dos elementos (el cuadro de texto para  el código del producto y el botón que ejecuta la consulta), lo llame “form_consulta.html”:

 <!- http://programarenphp.wordpress.com –>
<html>
<header>
<title>Prueba de SELECT</title>
<h1>Hola, programando una consulta</h1>
</header>
<body>
<form name=”consulta1″ method=”post” action=”ejecuta.php”>
Codigo del producto:<input type=”text” name=”codigo” maxlength=”4″>
<input type=”submit” value=”Aceptar”>
</form>
</body>
</html>

Paso 2: desarrollamos el archivo “ejecuta.php”, que es el encargado de realizar la consulta y mostrar el resultado, lo explico con comentarios dentro del mismo código:

<?php

/* http://programarenphp.wordpress.com*/

/******** CONECTAR CON BASE DE DATOS **************** */
/******** Recuerda cambiar por tus datos ***********/ 
   $con = mysql_connect(“host”,”usuario”,”contraseña”);
   if (!$con){die(‘ERROR DE CONEXION CON MYSQL: ‘ . mysql_error());}
/* ********************************************** */
/********* CONECTA CON LA BASE DE DATOS  **************** */
   $database = mysql_select_db(“almacen”,$con);
   if (!$database){die(‘ERROR CONEXION CON BD: ‘.mysql_error());}
/* ********************************************** */
/*ejecutamos la consulta, que solicita nombre, precio y existencia de la
tabla productos */
$sql = “SELECT nombre, precio, existencia FROM productos WHERE codigo='”
      .$_POST['codigo'].”‘”;
$result = mysql_query ($sql);
// verificamos que no haya error
if (! $result){
   echo “La consulta SQL contiene errores.”.mysql_error();
   exit();
}else {
    echo “<table border=’1′><tr><td>Nombre</td><td>Precio</td><td>Existencia</td>
         </tr><tr>”;
//obtenemos los datos resultado de la consulta
    while ($row = mysql_fetch_row($result)){
                echo “<td>”.$row[0].”</td><td>”.$row[1].”</td>
              <td>”.$row[2].”</td>”;
   }
   echo “</tr></table>”;
 }
?> 

Enseguida dejo la imagen con el resultado de ejecutar este código:

 

Si te interesa descargar este ejemplo los puedes obtener dando click aquí.

Verdad que es muy sencillo y te aseguro, te garantizó que si lo haces en tu maquina comprenderás mejor el funcionamiento de este programa. Así que a programar en php , ahora ya le puedes agregar consultas. Espero tus comentarios, saber si te sirvió, también me gustaría saber cual es tu principal problema a la hora de empezar a programar en php o porque no has podido aprender, que te frusta yo estaré leyendo y contestando tus comentarios.

Gracias, tu amigo:
Salvador López

About these ads
7 comentarios
  1. beto permalink

    oye como puedo hacer una doble consulta con php a mysql hacia dos tablas diferentes en la misma base de datos….

  2. Hola, me gustaría obtener tu ayuda, estoy intentando unir varios de tus post y ya arme un enredo terrible. jajaja

    lo que deseo es obtener varios datos de 2 tablas de mi bd, y con ellos crear 4 gráficas de barras (no tablas como en este ejemplo), espero que las personas puedan verificar estas gráficas y comentarlas para luego crear un pdf.
    como digo estoy intentando unir varios de tus post, con este realizo la consulta y tomo de mi base de datos los campos que necesito; es decir, sigo tu código al pie de la letra con mis datos.
    cuando llego a
    //obtenemos los datos resultado de la consulta
    while ($row = mysql_fetch_row($result)){
    echo “”.$row[0].””.$row[1].”
    ”.$row[2].””;
    }
    echo “”;
    }
    cambio el código al que explicas en “Como presentar una gráfica de barras sencilla con php”
    ya tomando los datos no de un formulario sino de la base de datos,y creando 4 gráficas en vez de 1.
    pero ahí empieza mi problema, por que cuando lo voy a probar para ver como queda y ver como creo el pdf me vota estos errores:

    Parse error: syntax error, unexpected ‘)’ in /home/u..
    Parse error: syntax error, unexpected T_STRING in /home/u9..
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘u…’@’localhost’ (using password: YES) in /home/u…

    la linea en donde me vota los errores es un titulo que coloco antes de la gráfica y en la conexión pero todos los datos están perfectos.

    como te digo estoy siguiendo tus datos al pie de la letra. y por ahora ni hablar de como creare ese pdf pues ni puedo ver las gráficas. :(

    Agradecería infinitamente tu ayuda, mi jefe me pidió que le creara esto y yo en esto soy muy novata.

  3. victoria permalink

    Hola observando tu codigo se parece al mio0!! i estoy igual que loRE! no me aparece nadA en la tabla!! =( la verdd me urGE!! por fa ayudita!! m codigo es el siguiente;
    si me puedes pasar tu correo plis!! esk tengo otras dudillas el como se hace una notificacion!! es deicr que cuando el usuario entra a su sesion pueda ver las notificaciones mandadas por otros usuarios,,TE LO AGRADECERIA MUCHO!!!


    id_usuario
    contraseña
    Nombre
    correo
    Tipo usuario

    <?php
    // Paso 1: Establecer conexión al servidor

    mysql_connect("localhost","root","");
    mysql_select_db("IJALTI");

    // Paso 2: Ejecutar Query
    $t ="select id_usuario, contraseña,nombre,correo,tipo_usuario from usuario;";
    $result= mysql_query($t);

    while($res = mysql_fetch_array($result)){
    echo "”;
    echo ” $res[contraseña]“;
    echo ” $res[nombre]“;
    echo ” $res[correo]“;
    echo ” $res[tipo_usuario]“;

    echo “”;
    }

    // Paso 4: Cerrar conexión
    mysql_close();

    ?>

  4. Lore permalink

    jeje!!! :$ ya me salio jeje, he encontrado mi error, muchas gracias tu ejemplo me ha servido de mucho hasta pronto…

    • Hola Lore, hasta cheke tus comentarios me da gusto que hayas resuelto el problema y si tienes otra bronca en la que yo puedo ayudarte con mucho gusto estoy a tus ordenes. Y muchas gracias por comentar.

  5. Lore permalink

    Hola, ya hice la consulta, pero no se a que te refieres con codigo en esta linea:

    $sql = “SELECT nombre, precio, existencia FROM productos WHERE codigo='”.$_POST['codigo'].”‘”;
    $result = mysql_query ($sql);

    ya me sale la tabla pero sin datos :P

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 136 seguidores

%d personas les gusta esto: