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; } }