Foros del Web » Programando para Internet » PHP »

generar un switch para omitir campos nulos

Estas en el tema de generar un switch para omitir campos nulos en el foro de PHP en Foros del Web. que tal a todos como puedo hacer un switch que va a ir ligado a bases de datos, ocupo que de 3 cajas de texto ...
  #1 (permalink)  
Antiguo 06/07/2009, 10:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 163
Antigüedad: 15 años, 8 meses
Puntos: 0
generar un switch para omitir campos nulos

que tal a todos como puedo hacer un switch que va a ir ligado a bases de datos, ocupo que de 3 cajas de texto que tengo en el formulario de busqueda, agarre diferentes combinaciones, ya sea 1 u otro u otro o todos, porque en codigo que tengo si le pongo 1 y los demas vacios no me realiza la consulta, este es mi codigo....saludos

Código PHP:
<?php


    
if(isset($_POST['buscar']))
    {
    
$bus_nombre $_POST['nombre'] ;
    
$bus_apelpat $_POST['apellido_pat'] ;
    
$bus_apelmat $_POST['apellido_mat'] ;

        unset(
$where);
        
$and=" AND ";
        
$c=0;
        
$array = array($bus_nombre$bus_apelpat$bus_apelmat);
        
$max=count($array);    
        for(
$i=0$i<$max$i++){
        echo  
$array[0];
            if((
$_POST[$array[$i]])!=''){
                if(
$c>0)
                    
$union=$and;
                else
                    
$union="";
                
$where.= $union .$array[$i]."=".$_POST[$array[$i]]."";
                
$c++;
                
            }
        }
        if(
$c>0)
            
$where="WHERE $where";
        
        

        
$query "SELECT * FROM cliente_datos WHERE cliente_nombre LIKE '".$bus_nombre."'  AND cliente_apelpat LIKE '".$bus_apelpat."' AND cliente_apelmat LIKE '".$bus_apelmat."' ";
        
//print $query;
        
$result mysql_query($query) or die ('Error in query: $query. ' mysql_error());
        
          if (
mysql_num_rows($result) > 0)
        {

            echo 
'<table width=100% cellpadding=0 cellspacing=0 border=1>';
            echo
                 
'<tr><td><b>Folio</b></td><td><b>Nombre</b></td><td><b>Apellido Paterno</b></td><td><b>Apellido Materno</b></td><td></tr>';
// iterate over record set
// print each field
            
while($row mysql_fetch_row($result))
            {
                echo 
'<tr>';
                echo 
'<td>' $row[0] . '</td>';
                echo 
'<td>' $row[1] . '</td>';
                echo 
'<td>' $row[2] . '</td>';
                echo 
'<td>' $row[3] . '</td>';
                echo 
'</tr>';
            }
            echo 
'</table>';
        }
        
    }
    
//include "cerrar_conexion.php";
    
mysql_close($myconn);
?>
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 22:00.