Foros del Web » Programando para Internet » PHP »

Filtro para sentencia

Estas en el tema de Filtro para sentencia en el foro de PHP en Foros del Web. Hola compañeros tengo esta sentencia para la busqueda con filtro: Código: $sql .= ($vnm != '') ? " AND CONCAT(nombre,'',apellidos) LIKE '%$vnm%'" : ""; y ...
  #1 (permalink)  
Antiguo 12/09/2012, 05:37
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 2 meses
Puntos: 10
Filtro para sentencia

Hola compañeros tengo esta sentencia para la busqueda con filtro:

Código:
$sql .= ($vnm != '')      ? " AND CONCAT(nombre,'',apellidos) LIKE '%$vnm%'" : "";

y necesitaría saber como hago otra sentencia $sql pero solo para el campo nombre.


Muchas gracias,
  #2 (permalink)  
Antiguo 12/09/2012, 05:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Filtro para sentencia

$sql .= ($vnm != '') ? " AND nombre LIKE '%$vnm%'" : "";


??? esto?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 12/09/2012, 06:13
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Filtro para sentencia

Compañero, solo me saca datos del campo apellidos.

Código PHP:
<?php 
include("wedserver2012.php");
if (
$_GET["action"] == "listar")
{
    
// valores recibidos por POST
    
$vnm   $_POST['apellidos'];
    
$vpo $_POST['poblacion'];
    
$vte $_POST['telefono'];
    
$vdel  = ($_POST['del'] != '' ) ? explode("/",$_POST['del']) : '';
    
$val   = ($_POST['al']  != '' ) ? explode("/",$_POST['al']) : '';
    
    
$sql "SELECT usuarios.nombre,usuarios.apellidos,usuarios.nu_usuario,usuarios.telefono,dir_usuarios.poblacion,dir_usuarios.usuario FROM dir_usuarios, usuarios WHERE dir_usuarios.usuario = usuarios.nu_usuario";     
                                
    
// Verificamos si hay algun filtro
    
$sql .= ($vnm != '')      ? " AND apellidos LIKE '%$vnm%'" "";
    
$sql .= ($po != '')      ? " AND poblacion LIKE '%$po%'" "";
    
$sql .= ($te != '')      ? " AND telefono LIKE '%$te%'" "";
    
$sql .= ($vdel && $val)   ? " AND nacimiento BETWEEN '$vdel[2]-$vdel[1]-$vdel[0]' 
                                                        AND '$val[2]-$val[1]-$val[0]' " 
"";
    
// Ordenar por
    
$vorder $_POST['orderby'];
    
    if(
$vorder != ''){
        
$sql .= " ORDER BY ".$vorder;
    }
    
    
$query mysql_query($sql);
    
$datos = array();
    
    while(
$row mysql_fetch_array($query))
    {
        
$datos[] = array(
            
'nu_usuario'          => $row['nu_usuario'],
            
'telefono'          => $row['telefono'],
            
'nombre'      => $row['nombre'],
            
'apellidos'       => $row['apellidos'],
            
'poblacion'        => $row['poblacion']
        );
    }
    
// convertimos el array de datos a formato json
    
echo json_encode($datos);
}

?>
  #4 (permalink)  
Antiguo 12/09/2012, 09:15
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Filtro para sentencia

Señores, gracias pero solucionado recortando codigo:



$sql = "SELECT usuarios.nombre, usuarios.apellidos, usuarios.nsuario, usuarios.telefono, dir_usuarios.poblacion, dir_usuarios.usuario
FROM dir_usuarios, usuarios
WHERE dir_usuarios.usuario = usuarios.nsuario
AND apellidos LIKE '%$vnm%' AND telefono LIKE '%$vte%' AND poblacion LIKE '%$vpo%'
";

Etiquetas: sentencia, sql, filtros
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 14:47.