Foros del Web » Programando para Internet » PHP »

generar consultas php a mysql con condicion de "si hay algo" o "si no" en la bd

Estas en el tema de generar consultas php a mysql con condicion de "si hay algo" o "si no" en la bd en el foro de PHP en Foros del Web. hola, lo que pasa es que tengo un formulario de consulta, pero quiero añadir un checklist para que me consulte en: 1-los registros que tengan ...
  #1 (permalink)  
Antiguo 26/09/2009, 08:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
generar consultas php a mysql con condicion de "si hay algo" o "si no" en la bd

hola, lo que pasa es que tengo un formulario de consulta, pero quiero añadir un checklist para que me consulte en:
1-los registros que tengan algo en la columna
2-los registros que no tengan nada en la columna
3-todos los registros.

lo que pasa es que tengo 18mil registros, pero hay algunos que por ejemplo tienen credencial y otros que no , y quiero hacer esto con php ( en mysql hago la consulta asi):

Código:
select * from tabla where numero='123'    - me consulta el registro directamente
select * from tabla where numero=''        - me consulta los que no tienen numero
select * from tabla where numero           - me consulta los que tienen numero
select * from tabla where numero='' or ''=''  - me consulta todos los registros
esto lo quiero poner todo en un solo formulario de forma que quede

credencial : 'si (checklist)' 'no (checklist)' 'numero (campo para escribir texto)

y que en caso de no activar ningun checklist ni poner numero sea consulta de todos

o , tal vez pueda ponerlo asi
credencial : 'todos(checklist' 'si (checklist)' 'no (checklist)' 'numero (campo para escribir texto)

usando checklist radio y dejar el todos en automatico,

les pego el codigo que tengo actual :

Código:
<form action="consultacompleta.php" method="post">
<BR><BR><BR>
<center>
<table >
<tr>
<td>Numero Folio</td>
<td><input type='text' name='numero' maxlength='300' ></td></tr>
<tr>
<td>Clave Elector IFE</td>
<td><input type='text' name='ife' maxlength='300' ></td></tr>
<TR>
<TD><input type=SUBMIT name=BOTON2 value ="Consultar"></TD>
<TD><input type=RESET name=BOTON1 value ="Borrar"></TD>
</TR>
</table>
</center>

</form>
y en php

Código:
<?php

$numero= $_POST['numero']

$sql = "SELECT * FROM agenda WHERE (numero='$numero' or '$numero'='')";
$sql = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($sql))
{
echo
"Numero= $row[numero] <br>
Credencial Ife = $row[ife]<br>
Nombre= $row[nombre]<br>"
}
?>
  #2 (permalink)  
Antiguo 26/09/2009, 12:58
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: generar consultas php a mysql con condicion de "si hay algo" o "si no" en

Debería ser así

Código html:
Ver original
  1. <form action="consultacompleta.php" method="post">
  2. <BR><BR><BR>
  3. <center>
  4. <tr>
  5. <td>Numero Folio</td>
  6. <td><input type='text' name='numero' maxlength='300' ></td></tr>
  7. <tr>
  8. <td>Clave Elector IFE</td>
  9.  
  10. <!-- ---------------------------------------------------------------------------------- -->
  11. <!-- En alguna parte debería ir este código, lo pongo acá porque no sé donde quieres ponerlo tú xD -->
  12.  
  13. <tr>
  14. <td> <input type="radio" name="condicion" value="1" /> Todos </td>
  15. </tr>
  16. <tr>
  17. <td> <input type="radio" name="condicion" value="2" /> Si </td>
  18. </tr>
  19. <tr>
  20. <td> <input type="radio" name="condicion" value="3" /> No </td>
  21. </tr>
  22. <!-- ---------------------------------------------------------------------------- -->
  23. <!-- ----------------------------------------------------------------------------- -->
  24.  
  25. <td><input type='text' name='ife' maxlength='300' ></td></tr>
  26. <TR>
  27. <TD><input type=SUBMIT name=BOTON2 value ="Consultar"></TD>
  28. <TD><input type=RESET name=BOTON1 value ="Borrar"></TD>
  29. </TR>
  30. </center>
  31.  
  32. </form>

Luego en el PHP, sería algo así :

Código php:
Ver original
  1. $condicion = $_POST['condicion'];
  2. $numero= $_POST['numero']
  3.  
  4. $consulta = "SELECT * FROM agenda";
  5. switch($condicion) {
  6.    case 1:
  7.       $consulta .= ""; // No agrega nada, por ende se ejecutara $consulta, mostrando todos los datos
  8.      break;
  9.    case 2:
  10.       $consulta .= " WHERE numero='".$numero."'"; // selecciono SI e introdujo un numero
  11.       break;
  12.   case 3:
  13.       $consulta .= " WHERE numero IS NULL"; // Selecciono NO, muestra los datos que no tienen numero
  14.      break;
  15. }
  16.  
  17. $sql = mysql_query($consulta) or die(mysql_error());
  18. while($row = mysql_fetch_array($sql))
  19. {
  20. echo
  21. "Numero= $row[numero] <br>
  22. Credencial Ife = $row[ife]<br>
  23. Nombre= $row[nombre]<br>"
  24. }

Creo que debería ser así. Disculpa si me equivoqué en algo.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 26/09/2009, 13:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: generar consultas php a mysql con condicion de "si hay algo" o "si no" en



<sarcasmo>¡¡que bien por hacerle el trabajo a los demás!!!</sarcasmo>

(ojala y le resulte el día de hoy con un conocimiento extra al beneficiado )
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 29/09/2009, 13:02
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: generar consultas php a mysql con condicion de "si hay algo" o "si no" en

spider boy : gracias , estoy trabajandolo haber si funciona bien,

paketetrueke : <sarcasmo>gracias tambien, tus sugerencias tecnicas me han servico de mucho </sarcasmo>
todos: "don't feed the troll"

alrato comento lo de spider pa ver si me funciono o si no comento como lo solucione,
  #5 (permalink)  
Antiguo 29/09/2009, 16:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: generar consultas php a mysql con condicion de "si hay algo" o "si no" en

Kroka, antes de calificar de troll a alguien que siempre esta dispuesto a ayudar a los demas, como es el caso de pateketrueke, preguntate que es lo mejor que puedes recibir de alguien aqui en FDW:

a) Todo el codigo que necesitas para que funcione lo que estas haciendo.
b) Sugerencias sobre que hacer para que aprendas a solucionarlo por ti mismo.

Creeme, yo siempre elijo la opcion B, porque con ello habre aprendido algo y no volvere a preguntar sobre temas similares, al contrario, podre ser util ayudando a otros que tengan el mismo problema.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 30/09/2009, 00:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
hola, ya logre hacerlo funcionar casi exactamente como me comentaste, solo modifique un par de cosas , quedando :
Código:
   
      $condicion = $_POST['condicion'];
      $numero= $_POST['numero']
       
      $consulta = "SELECT * FROM agenda";
      switch($condicion) {
         case 1:
            $consulta .= " WHERE (numero='$numero' or '$numero' ='')"; //  se ejecutara $consulta, mostrando todos los datos, o en caso que yo tenga un valor en formulario del texto , se filtrata con este
           break;
         case 2:
            $consulta .= " WHERE (numero)'"; // selecciono SI y busca entre los registros que tienen algo en el campo
            break;
        case 3:
            $consulta .= " WHERE (numero=' ' )"; // Selecciono NO, muestra los datos que no tienen numero, es decir que estan vacios en ese campo
           break;
      }
       
      $sql = mysql_query($consulta) or die(mysql_error());
      while($row = mysql_fetch_array($sql))
      {
      echo
      "Numero= $row[numero] <br>
      Credencial Ife = $row[ife]<br>
      Nombre= $row[nombre]<br>"
      }
ahora, hasta aqui bien, pero, en mi formulario de consulta tengo 2 parametros,de los cuales 5 son de este tipo, este que te comente es el de si tienen credencial, pero esta por ejemplo el de sector de trabajo, si es publico, privado, o nada (campo no rellenado)

pensaba que si pongo mas checklist y creo mas "case" se soluciona

es decir, si tengo 5 campos asi con 3 opciones tendria que crear 15 casos con 15 condiciones del lado html . ...
hay alguna forma de resumir esto ?

no sirvio esto ultimo, me crea todos los checkbox pero solo hay 15 condiciones, y me escoge una de las 15, y yo necesito 5 segmentos de , chale, y llevo varias horas haciendo correciones

Última edición por GatorV; 30/09/2009 a las 09:09
  #7 (permalink)  
Antiguo 30/09/2009, 08:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: generar consultas php a mysql con condicion de "si hay algo" o "si no" en

¿de muchas varias??

¿¿chale???

mmm...

la idea es tener varios chekbox que podamos seleccionar a la ves, esto lo conseguimos usando name del tipo array()
Código HTML:
<input type="checkbox" name="filtro[]" value="foo"/>
<input type="checkbox" name="filtro[]" value="bar"/> 
cuando en PHP, conseguimos que todo este en un perfecto arreglo... mucho mas fácil de tratar
Código PHP:
$sql 'SELECT * FROM tabla';

if (
sizeof($_POST['filtro']) > 0$sql .= "\nWHERE\n";
foreach (
$_POST['filtro'] as $tipo)
{
  switch (
$tipo)
  {
    case 
'foo'$sql .= "foo='BAR'"; break;
    case 
'bar'$sql .= "candy IS NULL"; break;
    default: 
/* ... */ break;
  }
  
$sql .= "\nAND\n";

Kroka, ya notas como obtener código "pseudo-resuelto" en realidad no resuelve nada??

por favor, analiza el ejemplo que coloco... que si bien, no es lo que exactamente "quieres comer", pero si lo puedes masticar, debes tragarlo, luego lo digieres y que te aproveche..


suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 05/10/2009, 14:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 1
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: generar consultas php a mysql con condicion de "si hay algo" o "si no" en

hola que tal, queria saber si alguien me puede salvar las papas y decirme como generar esta consulta:

Tener en cuenta lo siguiente:

PRECIO FINAL = PRECIO * CANTIDADES


1. Visualizar los pedidos que hallan excedido las $2500

2. Visualizar los pedidos que se hallan realizado en el período navideño (suponerlo del 24-12 al 7-1)
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:11.