Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/09/2007, 03:00
Avatar de zaida
zaida
 
Fecha de Ingreso: noviembre-2006
Ubicación: Madrid (España)
Mensajes: 266
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Pequeña Explicación Consultas Php

Sigue al anterior!!!

Cita:
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!= FALSE)//Comparamos que la consulta no sea false, 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!= FALSE)//Comparamos que la consulta no sea false, 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.
Saludos y espero que os sirva
__________________
-- Cuando sientas miedo y no tengas un hombro dónde apoyarte, no te hundas en la soledad, pues si lo haces fracasarás --

Última edición por zaida; 18/09/2007 a las 04:31