
17/12/2012, 13:24
|
| | Fecha de Ingreso: septiembre-2004
Mensajes: 9
Antigüedad: 20 años, 5 meses Puntos: 0 | |
Problemas al realizar busqueda Hola..... Buenas tardes:
Tengo un módulo en PHP que realiza busquedas en mi tabla de MySQL. Pretendo que busque en el folio de la cotizacion (Valor armado con fecha de creacion e id del registro en hexadecimal algo así: 12/2012/5DA, el nombre del Trabajo, el Cliente, y el Vendedor. El problema que tengo es que mi consulta no se ejecuta correctamente.... Hay ocasiones en que el registro llega vacio y otras en las que llega OK, No puedo buscar nada por folio ya que no me reconoce nada y no aparece ni un registro cuando ingreso criterio de folio. Alguien podría indicarme que ocurre??? Donde esta mi error? Gracias y saludos cordiales
Código:
function Search($per_page, $segment, $searching){
if ($segment<=0) $segment=1;
$folio = hexdec(substr($searching, 8, strlen($searching) - 8));
$strQuery = "SELECT Concat(substring(cast(tbcotizacionencabezado.datcreado as char),6,2),'/', substring(cast(tbcotizacionencabezado.datcreado as char),1,4),'/', HEX(tbcotizacionencabezado.id ) ) as Cotizacion,
tbcotizacionencabezado.id AS Id,
tbcotizacionencabezado.strtrabajo as Trabajo,
tbclientes.strRazonSocial as Cliente,
CONCAT(tbpersonal.strnombre,' ', tbpersonal.strappaterno, ' ', tbpersonal.strapmaterno ) as Vendedor,
DATE_ADD(tbcotizacionencabezado.datAutorizado, INTERVAL if(tbcotizacionencabezado.bolOCabierta=1,tbmaquinapredet.intvigenciaoca,tbmaquinapredet.intVigenciaOC) DAY) AS Expira
from tbcotizacionencabezado join tbmaquinapredet
inner join tbclientes on tbcotizacionencabezado.idcliente = tbclientes.id
inner join tbpersonal on tbpersonal.id = tbcotizacionencabezado.idcreado
WHERE (tbcotizacionencabezado.idStatus = 3 AND
(NOW() <= DATE_ADD(tbcotizacionencabezado.datAutorizado, INTERVAL if(tbcotizacionencabezado.bolOCabierta=1,tbmaquinapredet.intvigenciaoca,tbmaquinapredet.intVigenciaOC) DAY)) AND
((tbcotizacionencabezado.id = ".$folio.") OR (tbcotizacionencabezado.strTrabajo like '%".$searching."%') OR
tbclientes.strRazonSocial like '%".$searching."%' OR CONCAT(tbpersonal.strnombre,' ', tbpersonal.strappaterno, ' ', tbpersonal.strapmaterno ) like '%".$searching."%'))
GROUP BY tbcotizacionencabezado.id DESC LIMIT ".$segment.",".$per_page;
$query = $this->db->query($strQuery);
if($query->num_rows()>0){
foreach($query->result() as $row){
$data[] = $row;
}
return $data;
}
}
|