Foros del Web » Programando para Internet » PHP »

Crear una consulta a mysql mediante...

Estas en el tema de Crear una consulta a mysql mediante... en el foro de PHP en Foros del Web. Amigos, tengo una duda, me he estado cabezeando sobre si existe la forma (me imagino que se puede), de crear una query a medida que ...
  #1 (permalink)  
Antiguo 01/10/2010, 20:40
 
Fecha de Ingreso: julio-2009
Mensajes: 51
Antigüedad: 14 años, 9 meses
Puntos: 0
Crear una consulta a mysql mediante...

Amigos,
tengo una duda, me he estado cabezeando sobre si existe la forma (me imagino que se puede), de crear una query a medida que le paso los datos por un formulario.

al igual que el phpmyadmin, yo quiero hacer una busqueda pero yo colocar ciertos criterios y que con el boton se genere el query y me traiga los datos...


sera posible?
si esta en phpmyadmin me iamgno que si, pero necesito vuestra ayuda..
gracias!
  #2 (permalink)  
Antiguo 01/10/2010, 20:42
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Crear una consulta a mysql mediante...

Sería como un buscador, que tu vas ordenando si van de mayor a menor o viceversa.
  #3 (permalink)  
Antiguo 01/10/2010, 20:53
 
Fecha de Ingreso: julio-2009
Mensajes: 51
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Crear una consulta a mysql mediante...

y las condiciones where?

esa es mi duda si le pongo fecha o no le pongo fecha

como se crea de forma automatica la query?
  #4 (permalink)  
Antiguo 01/10/2010, 21:03
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Crear una consulta a mysql mediante...

Las condiciones es preferible cambiarlas donde empieza el AND...
en el WHERE predeterminadamente podrías ponerle la ID (Comparando que sean iguales)
  #5 (permalink)  
Antiguo 01/10/2010, 22:20
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Crear una consulta a mysql mediante...

Amigo Neurox creo que tu pregunta es más de SQL, y para ello ya que aludes mucho a phpmyadmin te recomendaría que te fijes bien ya q phpmyadmin te permite ver la sintaxis de la busquedas que hace, incluso hay una opción de convertir esa consulta en código php.

Por lo demás Mysql usan reglas bastante standard de SQL y hay muchas tela q cortar en ese caso... una recomendación sería

http://usuarios.multimania.es/cursosgbd/UD6.htm

Busca "Cláusula WHERE y condiciones de búsqueda" en esa pag u otro como más te guste
  #6 (permalink)  
Antiguo 02/10/2010, 09:02
Avatar de CazaresLuis  
Fecha de Ingreso: septiembre-2010
Ubicación: Distrito Federal
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 2
Sonrisa Respuesta: Crear una consulta a mysql mediante...

Si lo que quieres hacer es que mediante un formulario escribas ciertos criterios y le des realizar busqueda y te arme un query dependiendo de cuales de estos campos estan o no llenos te recomendaría lo siguiente:

Suponiendo que tu form tiene dos campos (Nombre y Apellidos) yo haría lo siguiente:


Código PHP:
<?php

// Creo el query principal sin clausulas WHERE ya que esas se crearan dinámicamente dependiendo de tus dos campos de formulario

$query "SELECT tus_campos FROM tu_tabla";


// Primero detectaría si las variables POST existen una a una


// Checar si existe la variable POST Nombre
if(isset($_POST['Nombre']) && !empty($_POST['Nombre']))
{
      
// Si el campo Nombre fue capturado agregamos el WHERE
      
$query .= " WHERE nombre= ' ".$_POST['Nombre'] . " ' ";

     
// Ahora checamos la existencia de la variable POST Apellidos
     
if(isset($_POST['Apellidos']) && !empty($_POST['Apellidos']))
     {
           
// Si el campo Apellidos fue capturado agregamos un AND
           
$query .= " AND apellidos= ' ".$_POST['Apellidos'] . " ' "
     
}
}
// Si no existe la variable POST Nombre, verificamos que exista la Variable POST Apellidos
elseif(isset($_POST['Apellidos']) && !empty($_POST['Apellidos']))
{
      
// Si el campo Apellidos fue capturado agregamos el WHERE
      
$query .= " WHERE apellidos = ' "$_POST['Apellidos'] ." ' ";
}


// Imprimimos en pantalla como queda armado nuestro query

echo $query;

?>

Si vas a crear un formulario de busquedas te recomiendo leas sobre prevenir la injección de codigo malicioso en MySQL

Saludos

Última edición por GatorV; 04/10/2010 a las 15:59
  #7 (permalink)  
Antiguo 04/10/2010, 07:51
 
Fecha de Ingreso: julio-2009
Mensajes: 51
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Crear una consulta a mysql mediante...

Cita:
Iniciado por CazaresLuis Ver Mensaje
Si lo que quieres hacer es que mediante un formulario escribas ciertos criterios y le des realizar busqueda y te arme un query dependiendo de cuales de estos campos estan o no llenos te recomendaría lo siguiente:

Suponiendo que tu form tiene dos campos (Nombre y Apellidos) yo haría lo siguiente:


Código PHP:
<?php

// Creo el query principal sin clausulas WHERE ya que esas se crearan dinámicamente dependiendo de tus dos campos de formulario

$query "SELECT tus_campos FROM tu_tabla";


// Primero detectaría si las variables POST existen una a una


// Checar si existe la variable POST Nombre
if(isset($_POST['Nombre']) && !empty($_POST['Nombre']))
{
      
// Si el campo Nombre fue capturado agregamos el WHERE
      
$query .= " WHERE nombre= ' ".$_POST['Nombre'] . " ' ";

     
// Ahora checamos la existencia de la variable POST Apellidos
     
if(isset($_POST['Apellidos']) && !empty($_POST['Apellidos']))
     {
           
// Si el campo Apellidos fue capturado agregamos un AND
           
$query .= " AND apellidos= ' ".$_POST['Apellidos'] . " ' "
     
}
}
// Si no existe la variable POST Nombre, verificamos que exista la Variable POST Apellidos
elseif(isset($_POST['Apellidos']) && !empty($_POST['Apellidos']))
{
      
// Si el campo Apellidos fue capturado agregamos el WHERE
      
$query .= " WHERE apellidos = ' "$_POST['Apellidos'] ." ' ";
}


// Imprimimos en pantalla como queda armado nuestro query

echo $query;

?>

Si vas a crear un formulario de busquedas te recomiendo leas sobre prevenir la injección de codigo malicioso en MySQL

Saludos
esto es justo lo que estaba pensando hacer, y tu me has ayudado con un trozo de codigo, de verdad muchas gracias.

Última edición por GatorV; 04/10/2010 a las 15:59

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:50.