Foros del Web » Programando para Internet » PHP »

problema de campos busqueda

Estas en el tema de problema de campos busqueda en el foro de PHP en Foros del Web. hola gracias por si ayuda generosa Mi consulta viene a ser la sgte: deseo hacer una busqueda por varios campos pero no quiero llenar todos ...
  #1 (permalink)  
Antiguo 17/11/2009, 13:53
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
problema de campos busqueda

hola gracias por si ayuda generosa
Mi consulta viene a ser la sgte:
deseo hacer una busqueda por varios campos pero no quiero llenar todos sino que con uno solo me de como resultado las coincidencias que encuentre. Me resulta bien con codigo, pero los demas no ¿que esta mal?
Código PHP:
<?
session_start
();
include(
"include/bd.php");
include(
"include/functions.php");
$cod=$_GET['codigo'];
bd_connect();

if(!isset(
$_SESSION['user'])) {
    
header("Location: index.php");
}

if(isset(
$_GET['Buscar'])) {
    if(isset(
$_GET['paterno']) and $_GET['paterno'] != '') {
        
$sql_more " AND paterno LIKE '%" $_GET['paterno'] . "%' ";
    }
    if(isset(
$_GET['materno']) and $_GET['materno'] != '') {
        
$sql_more .= " AND materno LIKE '%" $_GET['materno'] . "%' ";
    }
    if(isset(
$_GET['´nombre']) and $_GET['nombre'] != '') {
        
$sql_more .= " AND nombre LIKE '%" $_GET['nombre'] . "%' ";
    }
    
    
$reporte "SELECT id_per, CONCAT(paterno, ' ', materno, ' ', nombre) as nom, direccion_ope, cargo 
                    FROM reporte WHERE id_per= '$cod'
                    " 
$sql_more 
                    ORDER BY paterno"
;
    
//echo $reporte;
    
$reporte_query db_query($reporte);
}
?>
<html>
<head>
    <title>OSAED</title>
<link rel="stylesheet" href="include/estilos.css" type="text/css">
<script language="JavaScript" src ="include/common.js"> </script>
<script language="JavaScript" type="text/javascript">
function validaBusq() {
    if(document.frmPersonal.codigo.value == "" && document.frmPersonal.paterno.value == "" && 
           document.frmPersonal.materno.value == "" && document.frmPersonal.nombre.value == "") {
        alert("Debe ingresar una referencia de b&uacute;squeda");
        document.frmPersonal.paterno.focus();
        return false;
    }
    return true;
}
</script>
</head>

<body>
<?include("cabecera.php");?>

<br>
<!--<form name="frmPersonal" method="get" action="personal_result.php" target="fraBusPersonal" onsubmit="return validaBusqw();">-->
<form name="frmPersonal" method="get" action="<?echo $_SERVER['PHP_SELF']?>" onSubmit="return validaBusq();">
<table border="0" width="550" cellpadding="0" cellspacing="0" align="center">
<tr>
    <td valign="top">
    
        <table border="0" width="550" cellpadding="0" cellspacing="0" align="center">
        <tr>
            <td align="center"><p class="clsLblTituloPagina">B&uacute;squeda </p></td>
        </tr>
        <tr>
            <td><hr></td>
        </tr>
        </table><br>
                
        <table border="0" width="550" cellpadding="0" cellspacing="0" align="center">
        <tr>
                        <td>Código:</td>
            <td><input type="text" name="codigo" value="<?echo $_GET['id_per']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>

            <td>Ap. Paterno:</td>
            <td><input type="text" name="paterno" value="<?echo $_GET['paterno']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
            <td>Ap. Materno:</td>
            <td><input type="text" name="materno" value="<?echo $_GET['materno']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
        </tr>
        <tr>
            <td>Nombres:</td>
            <td><input type="text" name="nombre" value="<?echo $_GET['nombre']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
                        <td>Dirección:</td>
            <td><input type="text" name="direccion" value="<?echo $_GET['direccion_ope']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>

            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
        </table>
        
        <br>
        <table border="0" width="550" cellpadding="0" cellspacing="0" align="center">
        <tr>
            <td align="center">
                <input type="submit" name="Buscar" value="Buscar" class="clsSubmit">    
            </td>
        </tr>
        </table>
        
        <br>
        <table width="550" border="0" cellspacing="0" cellpadding="0" align="center">
        <tr>
              <td>
                <!--<iframe name="fraBusPersonal" marginwidth=0 marginheight=0 
                    src="pagina_blanco.php" frameborder=1 
                    width=100% scrolling=no height="170"></iframe>-->
                    
                <?if(isset($_GET['Buscar'])) {?>
                <div style="height:181;width:100%;overflow:auto">
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                <tr>
                    <td valign="top">
                    
                        <table border="0" width="750" cellpadding="0" cellspacing="0" align="center">
                        <tr>
                            <td class="clsTituloTabla" align="center" width="30">Nro.</td>
                            <td align="center" class="clsTituloTabla">Nombres</td>
                            <td class="clsTituloTabla">OPE</td>
                            <td ALIGN= "CENTER" class="clsTituloTabla">Cargo</td>
                                                           <td class="clsTituloTabla">&nbsp;</td>
                        </tr>
                        <?
                        $i 
1;
                        while(
$reporte db_fetch_array($reporte_query)) {
                        
?>
                        <tr onMouseOver="this.className='dataTableRowSelected'" onMouseOut="this.className='dataTableRow'">
                            <td align="center" height="22"><?echo $i?></td>
                            <td align="center"> <?echo $reporte['nom']?></td>
                            <td align="left"><?echo $reporte['direccion_ope']?></td>

                            <td align="right"><?echo $reporte['cargo']?></td>

                                                        
                            <td><a href="editar_personal.php?IDreg=<?echo $_GET['IDreg']?>&IDper=<?echo $reporte['id_per']?>&NOMper=<?echo $reporte['nom']?>"><img border="0" src="images/edit.gif" style="cursor: hand"> Editar</a></td>
                        </tr>
                        <tr>
                            <td colspan="15" height="1" bgcolor="#000000"></td>
                        </tr>
                        <?
                        $i
++;
                        }
                        
?>
                        </table>
                        
                    </td>
                </tr>
                </table>
                </div>
                <?}?>

            </td>
        </tr>
          </table>
        
    </td>
</tr>
</table>
<input type="hidden" name="IDreg" value="<?echo $_GET['IDreg']?>">
</form>

</body>
  #2 (permalink)  
Antiguo 17/11/2009, 14:09
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: problema de campos busqueda

Como que lo demás no??
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 17/11/2009, 14:15
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema de campos busqueda

ose cuando deseo buscar por ejemplo, solo por direccion no resulta nada op or nombre o por apellidos
  #4 (permalink)  
Antiguo 17/11/2009, 14:23
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: problema de campos busqueda

Osea no te funciona con un sólo criterio?? Con varios criterios sí?
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 17/11/2009, 14:26
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema de campos busqueda

al reves , al reves.
dime este mismo codigo como seria con filtros?
  #6 (permalink)  
Antiguo 17/11/2009, 14:46
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: problema de campos busqueda

Pues no veo algo que indique que no funcione... coloca un ejemplo de lo que pasa por fa...
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #7 (permalink)  
Antiguo 17/11/2009, 14:52
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema de campos busqueda

ya
veras
pongo un codigo y me sale el resultado; luego borro eso y pongo el apellido y no sale nada .con nombre nosale nada con direccion no sale nada los campos estan en blanco solo me sale resultado con codigo y no debe ser asi
  #8 (permalink)  
Antiguo 17/11/2009, 15:07
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: problema de campos busqueda

Cita:
Iniciado por lobbys Ver Mensaje
Código PHP:
    if(isset($_GET['´nombre'])ry($reporte); 
Te fijas que la varible tiene un ´??

Has otra cosa imprime $reporte en el proceso para que sepas que está pasando:

Código php:
Ver original
  1. echo $reporte = "SELECT id_per, CONCAT(paterno, ' ', materno, ' ', nombre) as nom, direccion_ope, cargo
  2.                    FROM reporte WHERE id_per= '$cod'
  3.                    " . $sql_more . "
  4.                    ORDER BY paterno";

Se me hace raro que no esté entrando a los otros if...
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 17/11/2009, 15:15
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema de campos busqueda

me sale asi y ahi esta el problema
SELECT id_per, CONCAT(paterno, ' ', materno, ' ', nombre) as nom, direccion_ope, cargo FROM reporte WHERE id_per= '' AND paterno LIKE '%Alonzo%' ORDER BY paterno

habra forma de solucionar este problema???
  #10 (permalink)  
Antiguo 17/11/2009, 15:29
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: problema de campos busqueda

Pues bueno... parece ser que la variable $cod no tiene nada...

Revisa esa, hasle un echo o var_dump y sabrás que trae.

Miraste lo del primer punto que te dije?
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #11 (permalink)  
Antiguo 17/11/2009, 15:36
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema de campos busqueda

no no
SELECT id_per, CONCAT(paterno, ' ', materno, ' ', nombre) as nom, direccion_ope, cargo FROM reporte WHERE id_per= 'e216' or paterno='' ORDER BY paterno
cdo si me trae cuando lo pongo pero si lo quito y quiero buscar por otra sale lo que tedije
y si, corregi lo del primer punto

Última edición por lobbys; 17/11/2009 a las 15:59
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 03:19.