Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Busqueda mysql condicional

Estas en el tema de Busqueda mysql condicional en el foro de PHP en Foros del Web. Hola a Todos, mi inconveniente es el siguiente, necesito realizar una busqueda condicional, Me Explico, Esto es consultadon una tabla mysql en php Tengo una ...
  #1 (permalink)  
Antiguo 11/11/2013, 13:03
 
Fecha de Ingreso: marzo-2011
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Busqueda mysql condicional

Hola a Todos, mi inconveniente es el siguiente, necesito realizar una busqueda condicional, Me Explico, Esto es consultadon una tabla mysql en php

Tengo una Lista/menu en php llamado provincias., necesito que si esta lista menu esta en blanco me consulte todos los registro de mi tabla movimientos.

De lo contrario si la lista menu tiene algun valor, como por ejemplo, "Villa der Mar",
El sistema me consulte solo los movimientos que en el campo provinc = a "Villa del Mar".

Saludo, espero me hayan comprendido,
  #2 (permalink)  
Antiguo 11/11/2013, 13:15
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años
Puntos: 2
Respuesta: Busqueda mysql condicional

SELECT * from nombre_tbl WHERE provincias='Villa der Mar';
__________________
Buen dia.
Jessy Rmz.
No seas como el caminante del desierto que sólo deja una huella; el conocimiento se alcanza con el tiempo y unas cuantas lunas.
  #3 (permalink)  
Antiguo 11/11/2013, 13:29
 
Fecha de Ingreso: marzo-2011
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Busqueda mysql condicional

Esta consulta no me funciona, ya que en la tabla el campo provinc de la tabla siempre tiene un valor, entonces si dejo en blanco la Lista/menu para seleccionar todos los registro, lo que hace es que no me selecciona ninguno.

es algo como si antes del Select hiciera algo asi :

if($_POST['provincia1'] == "")
{
SELECT * from nombre_tbl WHERE provincias=el valor que tiene la Lista/Menu;
}

O sea saber si la Lista/Menu esta en blanco para realizar una consulta o si tiene algun valor para realizar otra.
  #4 (permalink)  
Antiguo 11/11/2013, 13:45
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 9 meses
Puntos: 8
Respuesta: Busqueda mysql condicional

hola que tal
lo que puedes hacer es poner en el select el primer campo un value cero con el nombre de
--Provincias-- por ejemploy al hacer tu if haces esto:
Código PHP:
Ver original
  1. if($_POST['provincia1'] == "0")
  2. {
  3. SELECT * from nombre_tbl
  4. }else{
  5.  
  6. SELECT * from nombre_tbl WHERE provincias=el valor que tiene la Lista/Menu;
  7. }


entonces al no escoger ningún valor en el select el value cera cero y entrara a la primera parte del if y traerá una consulta de todos los registros y si escoges un valor hara una consulta con un where + el valor del select

Saludos
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #5 (permalink)  
Antiguo 11/11/2013, 14:13
 
Fecha de Ingreso: marzo-2011
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Busqueda mysql condicional

Bien, chequeare a ver si me funciona y te hago saber,
Gracias
  #6 (permalink)  
Antiguo 11/11/2013, 14:22
 
Fecha de Ingreso: marzo-2011
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Busqueda mysql condicional

Wow, ahora me da un error como si no reconociera la Lista/Menu llamada provincia1, y me fije y este es el nombre correcto,

Notice: Undefined index: provincia1 in C:\xampp\htdocs\institucionpn\list_mov.php on line 72.

y en la linea 72 tenemos lo siguiente:

72 - if($_POST['provincia1'] == "0")
73 - {
74 - mysql_select_db($database_conexionabm, $conexionabm);
75 - $query_Recordset1 = sprintf("SELECT * FROM novedades WHERE novedades.nota LIKE %s novedades.fechanovedad >= '$fecha11' AND novedades.fechanovedad <=
76 - '$fecha12' ORDER BY novedades.idnovedades DESC", GetSQLValueString("%" . $varProducto_Recordset1 . "%", "text"));
77 - $Recordset1 = mysql_query($query_Recordset1, $conexionabm) or die(mysql_error());
78 - $row_Recordset1 = mysql_fetch_assoc($Recordset1);
79 - $totalRows_Recordset1 = mysql_num_rows($Recordset1);
80 - }
  #7 (permalink)  
Antiguo 11/11/2013, 14:24
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 9 meses
Puntos: 8
Respuesta: Busqueda mysql condicional

debes hacer la consulta sin ningún where y en el else pones la consulta con where
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #8 (permalink)  
Antiguo 11/11/2013, 14:28
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 9 meses
Puntos: 8
Respuesta: Busqueda mysql condicional

puedes poner todo el codigo?
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #9 (permalink)  
Antiguo 11/11/2013, 14:42
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 8 meses
Puntos: 96
Respuesta: Busqueda mysql condicional

lo que pasa es que la variable no esta definida,
Código PHP:
Ver original
  1. if(isset($_POST['provincia1']))
  2. {
  3. mysql_select_db($database_conexionabm, $conexionabm);
  4. $query_Recordset1 = sprintf("SELECT * FROM novedades WHERE novedades.nota LIKE %s novedades.fechanovedad >= '$fecha11' AND novedades.fechanovedad <=
  5. '$fecha12' ORDER BY novedades.idnovedades DESC", GetSQLValueString("%" . $varProducto_Recordset1 . "%", "text"));
  6. $Recordset1 = mysql_query($query_Recordset1, $conexionabm) or die(mysql_error());
  7. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  8. $totalRows_Recordset1 = mysql_num_rows($Recordset1);
  9. }
como dice tquezada si pones todo el codigo seria mejor, ademas ponlo entre estas etiquetas [HIGHLIGHT="PHP"][/HIGHLIGHT]
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #10 (permalink)  
Antiguo 11/11/2013, 14:58
 
Fecha de Ingreso: marzo-2011
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Busqueda mysql condicional

Hola a todos, Gracias por su ayuda, ya pude resolver el inconveniente,

Lo que hice fue enviar el valor del $_POST["provincia1"] a la variable $provincia, luego hice el select utilizando la variable $provincia en vez de $_POST["provincia1"].

y todo me funciona perfectamente.
Muchas gracias a todos

Etiquetas: busqueda, condicional, mysql, registro, tabla
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 12:39.