Foros del Web » Programando para Internet » PHP »

consulta dinamica

Estas en el tema de consulta dinamica en el foro de PHP en Foros del Web. Hola amigos tengo una problema veran se me ocurrio hacer una busqueda de la siguiente forma: Un formulario con 8 campos a llenar y de ...
  #1 (permalink)  
Antiguo 04/01/2007, 14:32
 
Fecha de Ingreso: abril-2006
Mensajes: 134
Antigüedad: 18 años, 1 mes
Puntos: 0
consulta dinamica

Hola amigos tengo una problema veran se me ocurrio hacer una busqueda de la siguiente forma:

Un formulario con 8 campos a llenar y de ahi kiero hacer mi consulta pero la cuestion es que puede ser que todos los campos esten llenos o solo uno o dos entonces no se como puedo hacer una consulta solo con los campos que hayan sido llenados miren este es el formulario:

Código HTML:
<form name="form5" method="post" action="probus.php">
  <table width="500" border="0" align="center">
    <tr>
      <td colspan="3"><div align="center"><em><strong>VEHICULOS</strong></em></div></td>
    </tr>
    <tr class="tabla_fila">
      <td width="166" height="20"><div align="center">Placas</div></td>
      <td width="166" height="20"><div align="center">Serie</div></td>
      <td width="166" height="20"><div align="center">Modelo</div></td>
    </tr>
    <tr class="tabla_head">
      <td width="166"><div align="center">
        <input name="PLACAS" type="text" id="PLACAS">
      </div></td>
      <td width="166"><div align="center">
        <input name="SERIE" type="text" id="SERIE">
      </div></td>
      <td width="166"><div align="center">
        <input name="MODELO" type="text" id="MODELO">
      </div></td>
    </tr>
    <tr class="tabla_fila">
      <td width="166" height="20"><div align="center">Marca</div></td>
      <td width="166" height="20"><div align="center">Submarca</div></td>
      <td width="166" height="20"><div align="center">Color</div></td>
    </tr>
    <tr class="tabla_head">
      <td width="166"><div align="center">
        <input name="MARCA" type="text" id="MARCA">
      </div></td>
      <td width="166"><div align="center">
        <input name="SUBMARCA" type="text" id="SUBMARCA">
      </div></td>
      <td width="166"><div align="center">
        <input name="COLOR" type="text" id="COLOR">
      </div></td>
    </tr>
    <tr>
      <td width="166" height="20"><div align="center"></div></td>
      <td width="166" height="20"><div align="center" class="tabla_fila">A&ntilde;o de la Investigaci&oacute;n</div></td>
      <td width="166" height="20"><div align="center"></div></td>
    </tr>
    <tr>
      <td width="166"><div align="center"></div></td>
      <td width="166"><div align="center" class="tabla_head">      
        <select name="A_INV" id="A_INV">
          <option>1990</option>
          <option>1991</option>
          <option>1992</option>
          <option>1993</option>
          <option>1994</option>
          <option>1995</option>
          <option>1996</option>
          <option>1997</option>
          <option>1998</option>
          <option>1999</option>
          <option>2000</option>
          <option>2001</option>
          <option>2002</option>
          <option>2003</option>
          <option>2004</option>
          <option>2005</option>
          <option selected>2006</option>
          <option>2007</option>
          <option>2008</option>
          <option>2009</option>
          <option>2010</option>
          <option>2011</option>
          <option>2012</option>
          <option>2013</option>
          <option>2014</option>
          <option>2015</option>
          <option>2016</option>
          <option>2017</option>
          <option>2018</option>
          <option>2019</option>
          <option>2020</option>
          <option>2021</option>
          <option>2022</option>
          <option>2023</option>
          <option>2024</option>
          <option>2025</option>
          <option>2026</option>
          <option>2027</option>
          <option>2028</option>
          <option>2029</option>
          <option>2030</option>
        </select>
      </div></td>
      <td width="166"><div align="center"></div></td>
    </tr>
    <tr>
      <td width="166"><div align="center">
        <select name="ACCION" id="select4">
          <option selected>Selecciona una Opci&oacute;n</option>
          <option>Expresi&oacute;n Aproximada</option>
          <option>Expresi&oacute;n Exacta</option>
        </select>
      </div></td>
      <td width="166"><div align="center">
        <input type="submit" name="Submit9" value="Cancelar">
      </div></td>
      <td width="166"><div align="center">
        <input type="submit" name="Submit10" value="Consultar">
      </div></td>
    </tr>
  </table>
  <input name="tipo" type="hidden" id="tipo" value="veh">
</form> 
ahora suponiendo que solamente llenan 3 campos yo kiero haer una consulta la consulta seria:

select * from xxx where(campo1 = $variable1 and campo2 = variable2 and campo3 = variable3)

ese seria el caso de que solo llenaran 3 campos pero como se cuantos campos estan llenos y cuales son para crear la consulta.Y me imagino que tiene que ser de forma dinamica con php porque sino hay 6!(seis factorial) posibilidades de hacer la consulta que eso seria unas 720 formas de realizar la consulta....espero que me puedan ayudar de ante mano mil gracias
  #2 (permalink)  
Antiguo 04/01/2007, 14:55
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: consulta dinamica

Que tal, por que del lado de la consulta no haces condicionales si tal campo esta lleno a la cadena de $busqueda le agrego un trozo y asi voy concatenando cuantos campos hayan llenado en el formulario. Espero que te sirav. Saludos...
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 04/01/2007, 15:28
 
Fecha de Ingreso: abril-2006
Mensajes: 134
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: consulta dinamica

Hola JMQC gracias por tu comentario lo voy a utilizar aun que aun acepto sugerencias de hacerlo de otra forma ya sabes mientras menos escribas mejor jejejeje pero aun asi muchas gracias habia olvidado esta forma tambien.

Bueno hasta la proxima consulta y gracias.
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 06:07.