• Viernes 8 de Noviembre de 2024, 10:33

Autor Tema:  Pequeña Explicación Consultas Php  (Leído 1267 veces)

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Pequeña Explicación Consultas Php
« en: Martes 18 de Septiembre de 2007, 10:54 »
0
Por si a alguien le sirve aquí dejo una pequeña explicación sobre cómo hacer consultas básica en php:

Citar
CONSULTAS EN PHP

Para poder realizar consultas con Php, se debe tener primero una tabla creada en una base de datos mediante MySQL. Suponiendo que la tabla ya está creada, tomando como ejemplo la que aparece a continuación se realizan distintos tipos de consultas:

Nombre de la tabla: usuarios
+----+--------+------+----------+---------------------+---------+
| id | nombre | edad | lugar | aficiones | id_blog |
+----+--------+------+----------+---------------------+---------+
| 1 | pepe | 25 | Madrid | leer | 1 | |
| 2 | Juan | 30 | Valencia | comer | 2 | |
| 3 | Ana | 20 | Mallorca | dormir | 3 | |
| 4 | Pedro | 17 | Cádiz | jugar al baloncesto | 4 | |
| 5 | Maria | 23 | Mallorca | Bailar | 5 |
+----+--------+------+----------+---------------------+---------

1. Consulta de todas las filas de un campo:

En éste caso vamos a obtener de la consulta el nombre y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:

Campo que queremos
Visualizar

$nombre=”select nombre from usuarios”; Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será: pepe, Juan, Ana, Pedro, María.

2. Consulta de todas las filas de dos campos:

En éste caso vamos a obtener de la consulta el nombre y la id. El primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:

Campo que queremos
Visualizar

$id_nombre=”select id,nombre from usuarios”; Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($id_nombre,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
$id[$i]=$fila[‘id’];
echo $id[$i];
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será:nombre: pepe, Juan, Ana, Pedro, María. Id: 1,2,3,4,5

3. Consulta de una fila cuando el campo sea = a un valor:

En éste caso vamos a obtener de la consulta el nombre cuando la id sea =1 y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:

Campo que queremos
Visualizar

$nombre=”select nombre from usuarios where id=1”; Tabla en la que buscamos


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexión);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
$fila=mysql_fetch_array($consulta) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable

$nombre_usuario=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario; //Imprime el resultado.

}
En éste caso, el resultado de la consulta será: pepe.

4. Consulta de una fila cuando el campo sea igual a 2 valores:

Ahora vamos a obtener de la consulta el nombre cuando la id sea =2 y al lugar sea = Valencia. El primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:
Campo que queremos
Visualizar

$nombre=”select nombre from usuarios where id=2 and lugar=’Valencia’”; Tabla en la que buscamos

Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexión);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
$fila=mysql_fetch_array($consulta) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable

$nombre_usuario=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario; //Imprime el resultado.


}
En éste caso, el resultado de la consulta será: Juan. 

Sigue!!
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Pequeña Explicación Consultas Php
« Respuesta #1 en: Martes 18 de Septiembre de 2007, 10:55 »
0
Sigue al anterior:

Citar
5. Consulta de una fila cuando el campo sea igual a un array:

En éste caso vamos a obtener de la consulta el nombre cuando la id sea =$id y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:


Campo que queremos
Visualizar

$nombre=”select nombre from usuarios where id=$id”; Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexión);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea nuul,es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}

6. Ordenar una consulta de manera descendente:

En éste caso vamos a obtener de la consulta la id y vamos a colocarla de orden descendente y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $id, ésta variable la igualamos a la consulta:

Campo que queremos
Visualizar

$id=”select id from usuarios”; Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($id,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$id_usuario[$i]=$fila[‘id’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $id_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será:5,4,3,2,1.
Nota: Para colocar el resultado de forma ascendente no hay que hacer nada (no se pone Order by).
7. Consulta limitada a un número de registros:

Ahora vamos a obtener de la consulta el nombre desde la id que queramos de un número determinado de registros y vamos a colocarla de orden ascendente y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:

Campo que queremos ordenador por empieza desde nº de
Visualizar la id el siguiente registros
Registro(1) que cuenta

$nombre=”select nombre from usuarios order by id limit 0,2”; Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será: pepe, Juan (en éste orden).
8. Consulta para encontrar nombres que empiezan por una letra:

Ahora vamos a obtener de la consulta los nombres que empiezan con la letra “p” y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:



$nombre=”select * from usuarios where nombre like “p%””; Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será: pepe, pedro
Nota: La consulta también puede hacerse:
select * from usuarios where nombre regexp binary “^p”;**


Sigue!!
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Pequeña Explicación Consultas Php
« Respuesta #2 en: Martes 18 de Septiembre de 2007, 10:56 »
0
Sigue al anterior!!!

Citar
9. Consulta para encontrar nombres que acaben en una letra:

Ahora vamos a obtener de la consulta los nombres que acaban “a” y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:



$nombre=”select * from usuarios where nombre regexp “a$””;** Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será: ana y maría
Nota: La consulta también puede hacerse:
select * from usuarios where nombre like “%a”;

10. Consulta para encontrar nombres que contengan una letra:

Ahora vamos a obtener de la consulta los nombres que contienen la letra “r” y el primer paso es asignar una variable que contendrá la consulta (lo que queremos buscar), por ejemplo $nombre, ésta variable la igualamos a la consulta:



$nombre=”select * from usuarios where nombre regexp “s””;** Tabla en la que buscamos
$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($nombre,$conexion);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if($consulta!= NULL)//Comparamos que la consulta no sea null, es decir, que contenga algo.
{
if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
$i++;//Cierra el array

}
}
}
El resultado de ésta consulta será: pedro y maría
Nota: La consulta también puede hacerse:
select * from usuarios where nombre like “%s%”;

11. Consulta a varias tablas:

En éste caso utilizaremos las siguientes tablas:

Nombre de la tabla: usuarios
+----+---------------------+-----------+-----------+------------+--------
| id | nombre | apellido1 | apellido2 | telefono | usuario
+----+---------------------+-----------+-----------+------------+--------
| 1 | usuario desconocido | NULL | NULL | NULL | juan
| 2 | Chuky | NULL | NULL | NULL | NULL | 3 | William | NULL | NULL | NULL | NULL
| 4 | Anna | NULL | NULL | NULL | NULL
| 5 | Gemma | NULL | NULL | NULL | NULL
| 6 | Irene | NULL | NULL | NULL | NULL

Nombre de la tabla: comentarios_blog

+----+---------+-------------------+--------------
| id | id_blog | descripcion id_usuario ||
+----+---------+--------------+-------------------
| 3 | 79 | rrr 24 |
| 4 | 81 | hola holita 24 |
| 5 | 81 | fghfghfgh 24 |
| 6 | 81 | vvvvvvvv 24 |
| 7 | 80 | hola 24 |
| 8 | 79 | hola hola 39 |

En ésta consulta vamos a utilizar dos tablas es decir queremos el resultado cuando la id_usuario de la tabla comentarios_blog sea = a la id de la tabla usuarios cuando la id_blog de la tabla comentarios_blog sea = a 80. El primer paso es asignar una variable que contendrá la consulta, por ejemplo, $resultado, ésta variable se iguala a la consulta:

tabla en la campo que relaciona camo
que buscamos buscamos y tabla
$resultado = “select usuarios.nombre,comentarios_blog.id_usuario from usuarios,comentarios_blog where comentarios_blog.id_blog=80 and comentarios_blog.id_usuario=usuarios.id”;

$i=0 //Cuando la tabla contiene más de una fila (en éste caso del campo nombre) se iguala $i a 0, puede ser cualquier letra.


Ahora empezamos a hacer la consulta, debemos asignarle una variable a ésta, por ejemplo $consulta y la igualamos a:

$consulta=mysql_query ($resultado,$conexión);//$conexion es la variable que contiene la conexión a la base de datos que debe
realizarse antes de la consulta
mysql_query: envía una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no hay ningún enlace abierto, la función intenta establecer uno.

A continuación comenzamos a hacer la consulta para obtener el resultado:

if(mysql_num_rows($consulta)!=0) //Comparamos que el número de filas sea distinto de 0(el nº de filas lo devuelve mysql_num_rows)
{
while($fila=mysql_fetch_array($consulta)) //mysql_fetch_array extrae lo que contiene la consulta,
lo igualamos con una variable
{
$nombre_usuario[$i]=$fila[‘nombre’];
$id_usuario[$i]=$fila[‘id_usuario’]; //Asignamos una variable que contenga $fila(resultado de mysql_fetch_array)de
nombre(campo que queremos visualizar el contenido)
echo $nombre_usuario[$i]; //Imprime el resultado. [$i], se utiliza cuando los resultados son varios
echo $id_usuario[$i];
$i++;//Cierra el array

}



El resultado de ésta consulta será nombre: jose pepe,id_usuario:24.

Además os dejo un link hacia una web dónde explica muy bien ésto de las consultas y que a mi me sirvió para entenderlas.

http://www.rinconastur.net/php/php72.php

Saludos y espero que os sirva
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----