Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2010, 15:29
patricia:)
 
Fecha de Ingreso: abril-2006
Ubicación: Venezuela
Mensajes: 126
Antigüedad: 19 años
Puntos: 0
buscar un dato en un txt

Buenas tardes a todos,

Les escribo para ver si me pueden dar una mano en esta duda que tengo.

Hice un script el cual se conecta a la tabla empleado y obtiene el Codigo del carnet de todos los empleados y mediante un while busca en txt este valor y la que encuentre (el resultado siempre arroja 1, porque tiene un solo numero carnet) lo debe mostrar por pantalla.

acontinuacion muestro el contenido del txt, fijese que el valor a buscar es el numero que sale despues de "TRABAJADOR: "

Código HTML:
RECIBO DE PAGO PERIODO: 01/04/2010 AL: 30/04/2010
8 2010 COMPAÑIA: EUROCIENCIA, C.A. FECHA DE PAGO 15/04/2010 TRABAJADOR: 1781 PEPE JUAN NRO. CEDULA ID: NIDAD ORGANIZATIVA: GERENCIA DE SISTEMAS CARGO: ANALISTA DE CNC EN SISTEMAS FECHA DE INGRESO: 06/02/2008 CUENTA NRO.: 0060290202 SALARIO DIARIO 15,23 INSTITUCION: BANCO VENEZOLANO DE CREDITO
17153567
CODIGO CONCEPTO 1000 5000 5010 5020 5290 5500 SALARIO SEGURO SOCIAL OBLIGATORIO LEY REGIMEN PREST. DE EMPLEO LEY PRESTAC VIVIENDA Y HABIT DCTO POR COMPRA DE PRODUCTOS DCTO. COMPLEMENTO DEL MES
CANTIDAD 30,000 4,000 4,000 30,000 0,000 30,000
 
de acuerdo con el detalle anterior y firmo en señal de conformidad.
El concepto de Reembolso de Gastos corresponde a reintegro por gastos contra facturas presentadas por usted incurridas en el mes anterior.
Firma del Trabajador ACUMULADOS Devengado a la fecha: Prestaciones Sociales: Intereses s/Prest. Soc: 9.426,30 10.978,35 1.478,27 Vacaciones y Bono Vacacional Días pendientes por disfrutar: Días pendientes de pago: Días pendientes Bono Vacacional: 0,00 -14,00 -6,52
 


Y este es mi codigo que busca el valor del carnet en ese archivo.txt:

Código:
<?
$n=0;
try {
$dbh = new PDO("oci:dbname=SPI;host=1.0.0.202;port=1521","infocent","infocent");
} catch (PDOException $e) {
echo "Error: ". $e->getMessage();
exit;
}
$query = "SELECT FICTRA FROM NMM001";
$stmt = $dbh->prepare($query);
if ($stmt->execute()) {
$ficheros_nomina = array('us05351.txt');
while ($row = $stmt->fetch()) {
      $carnet= $row['FICTRA'];
      $fictra = 1;
      foreach($ficheros_nomina as $fichero_nomina)
      {
           $contenido_fichero = file_get_contents($fichero_nomina);
           preg_match_all("(["TRABAJADOR"]+:[$carnet]+)", $contenido_fichero);
 
           foreach ($resultado[0] as $id)
          {
 
              echo $id;
              $fictra++;
           } 
      }
 
}
} 
?>

el problema me da es con la sentencia preg_match_all, como hago para que busque: TRABAJADOR: + "el codigo del carnet que devuelve el sql"

como algo asi: TRABAJADOR: 1521 y si coincide que muestre el numero de carnet