Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/08/2019, 04:58
Avatar de vb2005
vb2005
 
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: Buscar valores con espacios SQL

Cita:
Iniciado por tuadmin Ver Mensaje
solo usa mas LIKE's, el string de nombre filtralo y conviertelo a LIKE de SQL, y unelos con AND u OR dependiendo del resultado

Código PHP:
<?php
$nombre 
'pedro   perrales'//extremos las partes del nombre
$array_nombres explode(" ",$nombre);
//Filtramos el resultado para ignorar espacios en blanco
$array_nombres array_filter($array_nombres,function($val){
    return 
strlen($val)>1;//No existe ningun nombre que sea de un solo caracter
});
//Creamos un array con el formato del LIKE MSYQL
$array_sql_like array_map(function($name){
    return 
"nombre LIKE '%".$name."%'";
    
},
$array_nombres);
//Unimos todos los LIKES con AND para indicar que todo el nombre debe estar en el registro
$sql_like implode(" AND ",$array_sql_like);
//SELECT * FROM clientes WHERE nombre LIKE '%pedro%' AND nombre LIKE '%perrales%'

//Unimos todos los LIKES con OR para indicar que cualquier nombre debe estar en el registro
//$sql_like = implode(" OR ",$array_sql_like);
//SELECT * FROM clientes WHERE nombre LIKE '%pedro%' OR nombre LIKE '%perrales%'

$sql "SELECT * FROM clientes WHERE ".$sql_like."";

print(
$sql);
ya de ti depende como hacerlo, el FULLTEXT que te sugirieron, solo trabaja con tablas MYISAM el LIKE es para todo tipo de motor
las diferencias entre un LIKE y FULLTEXT son
LIKE=string exacto
FULLTEXT=string casi similar

en todo caso muchos dejaron de usar ese tipo de búsqueda FULLTEXT y a los que les es necesario estan USANDO sphinx o similares
OP quiere encontrar un registro basado en un texto de entrada que no tiene que ser exactamente el que está en la base de datos. Creo que sugerir un search server completo es un poco alejado de la realidad.

FULLTEXT no es solo para MyISAM, funciona también en Innodb por ejemplo
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida