Por ejemplo, quieres buscar una misma palabra en 3 o más campos de tu tabla.
Normalmente harías algo así:
$tabla = "compras";
$where = "WHERE (numeroUnico LIKE '%".$buscada."%' or NumeroComprobante LIKE '%".$buscada."%' or Denominacion_razonSocial LIKE '%".$buscada."%' or comentario LIKE '%".$buscada."%' or FechaEmision LIKE '%".$buscada."%') AND RUC_empresa = '$RUC_empresa'";
$ordenado = "ORDER BY FechaEmision DESC, ID_compras DESC";
$sentencia_SQL = "SELECT * FROM $tabla $where $ordenado";
Bueno existe una forma corta de hacer el WHERE, usando el comando CONCAT, que sirve para concatenar.
Es ese caso tu código quedaría así:
$where = "WHERE CONCAT(numeroUnico, NumeroComprobante, Denominacion_razonSocial, comentario) FechaEmision LIKE '%".$buscada."%' ";
Sólo una observación. Me ha funcionado muchas veces, pero en una ocasión no me arrojaba los resultados esperados... Luego de investigar un poco encontré CONCAT_WS. El código me quedó así y funcionó :)
$where = "WHERE CONCAT_WS(numeroUnico, NumeroComprobante, Denominacion_razonSocial, comentario) FechaEmision LIKE '%".$buscada."%' ";
Espero que este datito les sea de utilidad.
chaveztoro
No hay comentarios:
Publicar un comentario