Estoy realizando un módulo que me genera un reporte de llegadas tarde en un word. He intentado con código que he visto por internet, pero no se me genera el documento correctamente.
Este es el código:
$(document).ready(function(){ $("#enviar").click(function( event ) { /*Con esto evitamos que se recargue la página.*/ event.preventDefault(); var data=$("form").serialize(); $.ajax({ method:"POST", url:"consultar_fecha.php", data:data, success: function(data){ $('#consulta').html(data); } }); }) $("#ext").click(function( event ) { /*Con esto evitamos que se recargue la página.*/ event.preventDefault(); var data=$("form").serialize(); $.ajax({ method:"POST", url:"reportes.php", data:data, success: function(data){ } }); }) });
<font class="mensajes" id="desde">Desde: </font><font class="mensaje" id="hasta">Hasta: </font><font class="mensaje" id="exportar">Exportar con el nombre: </font><form method="POST"><input type="text" name="nombre" id="nombre"><input type="date" name="inicio" id="inicio" class='input'><input type="date" name="final" id="final" class='input'><button type="submit" id="enviar">Consultar</button></form><button id="ext"><a href="reportes.php">Exportar</a></button><section id="consulta"></section>
AL hacer click en Exportar (id="ext"), me debería generar un documento en Word con base a esta página:
<?php$nombre=$_POST['nombre'];$inicio=$_POST['inicio'];$final=$_POST['final'];$n=str_replace("", "_", "$nombre");include('conexion.php');require_once("../dompdf-0.5.1/dompdf_config.inc.php");$reporte=mysqli_query($mysqli, "SELECT * FROM novedades, aprendices, fichas WHERE fecha_novedad BETWEEN '$inicio' AND '$final' AND novedades.doc_ap=aprendices.doc_ap AND aprendices.id_ficha=fichas.id_ficha");header("Content-type: application/vnd.ms-word");header("Content-Disposition: attachment; filename=" . $n . ".doc");?><!DOCTYPE html><html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><title>Reporte Aprendices.</title><style type="text/css"> .especial{ text-align:center; } body{ width:60%; margin:auto; } .firma{ text-align:right; }</style></head><body><?phpwhile ($r=mysqli_fetch_array($reporte)) {?><p><center>25-9511-2</center></p><p><center>Girardot,</center></p><br><br><?phpif ($r['genero_ap']=='lo') { echo "Señor, <br>"; echo $r['nombres_ap'] . "" . $r['apellidos_ap'] . "<br>"; echo $r['tipo_doc_ap'] . "" . $r['doc_ap'] . "<br>"; echo "Aprendiz del " . $r['nivel_ficha'] . " en " . $r['nombre_ficha'] . "<br>"; echo "Ficha: " . $r['id_ficha'] . "<br>"; echo "Centro de la Tecnología del Diseño y la Productividad Empresarial. <br>"; echo "Girardot. <br><br><br>"; echo "<p align='right'><strong>Asunto: Llamado de Atención por incumplimiento horario de ingreso a la formación.</strong></p><br><br>"; echo "<font align='justify'><p>Cordial saludo, señor " . $r['nombres_ap'] . ":</p>"; echo "<p>En atención a que en la fecha usted se presentó al Centro de Formación en un horario que supera la franja asignada para el ingreso a la capacitación que diariamente recibe en el Sena; de manera comedida procedemos a formularle el presente LLAMADO DE ATENCION, teniendo en cuenta que con su actitud usted está faltando al numeral 1 del Artículo 9 del Capítulo III del Reglamento del Aprendiz del Sena, Acuerdo 0007 de 2012, que al tenor dice:</p>"; echo "<p class='especial'><i>“1. Cumplir con todas las actividades propias de su proceso de aprendizaje o del plan de mejoramiento, definidas durante su etapa lectiva y productiva.”</i></p>"; echo "<p>En consideración a lo manifestado, " . $r['genero_ap'] . " invitamos a mejorar los hechos que conllevan el retardo en la asistencia a los compromisos, teniendo en cuenta que la reiteración de las faltas implica aplicar lo dispuesto en el citado Reglamento.</p>"; echo "<br><br><p>Antentamente, </p><br><br><br>"; echo "<p class='firma'><br>Persona x<br>"; echo "Coordinador de Formación Profesional, Gestión Educativa y Relaciones Coorporativas.<br><br><br></p>"; echo "</font>";}else{ echo "Señorita, <br>"; echo $r['nombres_ap'] . "" . $r['apellidos_ap'] . "<br>"; echo $r['tipo_doc_ap'] . "" . $r['doc_ap'] . "<br>"; echo "Aprendiz del " . $r['nivel_ficha'] . " en " . $r['nombre_ficha'] . "<br>"; echo "Ficha: " . $r['id_ficha'] . "<br>"; echo "Centro de la Tecnología del Diseño y la Productividad Empresarial. <br>"; echo "Girardot. <br><br><br>"; echo "<p align='right'><strong>Asunto: Llamado de Atención por incumplimiento horario de ingreso a la formación.</strong></p><br><br>."; echo "<font align='justify'><p>Cordial saludo, señorita " . $r['nombres_ap'] . ":</p>"; echo "<p>En atención a que en la fecha usted se presentó al Centro de Formación en un horario que supera la franja asignada para el ingreso a la capacitación que diariamente recibe en el Sena; de manera comedida procedemos a formularle el presente LLAMADO DE ATENCION, teniendo en cuenta que con su actitud usted está faltando al numeral 1 del Artículo 9 del Capítulo III del Reglamento del Aprendiz del Sena, Acuerdo 0007 de 2012, que al tenor dice:</p>"; echo "<p class='especial'><i>“1. Cumplir con todas las actividades propias de su proceso de aprendizaje o del plan de mejoramiento, definidas durante su etapa lectiva y productiva.”</i></p>"; echo "<p>En consideración a lo manifestado, " . $r['genero_ap'] . " invitamos a mejorar los hechos que conllevan el retardo en la asistencia a los compromisos, teniendo en cuenta que la reiteración de las faltas implica aplicar lo dispuesto en el citado Reglamento.</p>"; echo "<br><br><p>Antentamente, </p><br><br><br>"; echo "<p class='firma'><br>Persona x<br>"; echo "Coordinador de Formación Profesional, Gestión Educativa y Relaciones Coorporativas.<br><br><br></p>"; echo "</font>";}}?>
Eso es justo lo que debería mostrar. Por favor, agradecería mucho a quién pueda ayudarme. Compartí todo el código para que tengan mejor perspectiva de lo que necesito.