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