Спасибо, что посетили мой пост. Я новичок в программировании на php, и в настоящее время я пытаюсь создать веб-приложение, которое позволяет пользователю создавать газовые купоны. Это возможно благодаря нескольким веб-формам и динамическому списку опций, которые хранят данные в базе данных mysql. Что я пытаюсь сделать, так это взять информацию, которая будет находиться в каждом купоне, из базы данных и заменить переменные, которые я определил, в шаблон слова.
На самом деле приложения позволяют пользователю сделать один купон (он берет информацию из форм и списков и с помощью метода POST заменяет переменные в php-коде).
Я очень надеюсь, что кто-нибудь сможет мне помочь, потому что это все, что мне нужно, чтобы закончить мое приложение.
Вот мои php и html коды.
vales.html
<html>
<head>
<title>Creación de Vales</title>
<script type="text/javascript" src="dynamicoptionlist.js"></script>
<link rel="icon" type="image/png" href="favicon.png">
<link rel="stylesheet" href="estilos.css">
</head>
<body onLoad="initDynamicOptionLists()">
<header>
<div class="menu">
<div class="contenedor">
<div class="logo">
<a href="index.html">Creación de vales</a>
</div>
<nav>
<ul>
<li><a href="index.html">Inicio</a></li>
<li><a href="altas.html">Creación de vales</a></li>
<li><a href="../graph2/index.php">Consulta de gráficas</a></li>
<li><a href="extras.html">Vales Extras</a></li>
</ul>
</nav>
</div>
</div>
</header>
<center>
<div class="Shield">
<img src="shield.png" width="150px" height="150px">
</div>
<div class="CV">
<h1>Creación de Vales</h1>
</div>
<div class="formu">
<form action="template.php" method="post">
<b>Nombre: Presidencia Municipal</b><br><br>
<b>Departamento:</b>
<select name="dpto">
<!--<option value="Default"></option>-->
<option value="Seguridad">Seguridad</option>
<option value="Servicios Primarios">Servicios Primarios</option>
<option value="Ecologia">Ecología</option>
<option value="Desarrollo Rural">Desarrollo Rural</option>
<option value="Desarrollo Social">Desarrollo Social</option>
<option value="Presidencia">Presidencia</option>
<option value="Fomento Civico">Fomento Civico</option>
<option value="Regidores">Regidores</option>
<option value="Recursos Humanos">Recursos Humanos</option>
<option value="Tesoreria">Tesorería</option>
<option value="Gestoria">Gestoría</option>
<option value="Parques y Jardines">Parques y Jardínes</option>
<option value="Contraloria">Contraloría</option>
<option value="Alumbrado Publico">Alumbrado Público</option>
<option value="Juridico">Jurídico</option>
<option value="Obras Publicas">Obras Públicas</option>
<option value="Comunicacion Social">Comuniación Social</option>
<option value="DIF">DIF</option>
<option value="Biblioteca">Biblioteca</option>
<option value="Secretaria del Ayuntamiento">Secretaría del Ayuntamiento</option>
<option value="Proteccion Civil">Protección Civil</option>
<option value="Bomberos">Bomberos</option>
<option value="Turismo Municipal">Turismo Municipal</option>
<option value="Union de Pensionados">Unión de Pensionados</option>
<option value="SEDENA Ejercito Mexicano">SEDENA Ejercito Mexicano</option>
<option value="Instituto de la Juventud">Instituto de la Juventud</option>
<option value="Centro de Salud">Centro de Salud</option>
<option value="Apoyo Cam 10">Apoyo Cam 10</option>
<option value="Apoyo estudiantes Ejido La Cecilia CBTA">Apoyo estudiantes Ejido La Cecilia CBTA</option>
<option value="Apoyo Atencion Medica Oficial de Seguridad">Apoyo Atención Médica Oficial de Seguridad</option>
<option value="Apoyo EMSAD 28 de Agosto">Apoyo EMSAD 28 de Agosto</option>
<option value="Apoyo estudiantes ejido el Durazno">Apoyo estudiantes ejido el Durazno</option>
<option value="Apoyo estudiantes ejido Ganivete">Apoyo estudiantes ejido Ganivete</option>
<option value="Apoyo estudiantes ejido Estacion Madero">Apoyo estudiantes ejido Estación Madero</option>
</select><br><br>
<b>Responsable:</b>
<select name="rsp">
</select><br><br>
<b>Fecha:</b><br><br>
Día:
<input type="text" size="5" placeholder="15" name="dia">
Mes:
<input type="text" size="5" placeholder="9" name="mes">
Año
<input type="text" size="5" placeholder="2015" name="year"><br><br>
<b>Cantidad:</b>
<input type="text" size="5" placeholder="40" name="cantn">
<b>Cantidad Letra:</b>
<input type="text" size="12" placeholder="Cuarenta" name="cantl"><br><br>
<b>Artículo:</b> <i>Litros</i>
<b>Importe:</b>
<select name="imp">
<option>Magna
<option>Premium
<option>Diesel
</select>
<b>Precio:<b>
<select name="precio">
</select><br><br>
<b>Seleccione o ingrese Unidad:</b><br><br>
<select name="uni">
</select><br><br>
<input type="text" size="25" placeholder="Camion de pasajeros" name="uni2"><br><br>
<b>Seleccione o ingrese placas:</b><br><br>
<select name="placas">
</select><br><br>
<input type="text" size="12" placeholder="EXO9843" name="placas2"><br><br>
<input type="submit" value="Registrar">
<input type="reset" value="Limpiar Formularios">
</div>
//This is the code for the dynamicoptions select inputs
<script type="text/javascript">
var names = new DynamicOptionList();
var precio = new DynamicOptionList();
precio.addDependentFields("imp","precio");
precio.forValue("Magna").addOptions("13.57");
precio.forValue("Premium").addOptions("14.50");
precio.forValue("Diesel").addOptions("14.2");
names.addDependentFields("dpto","rsp","uni","placas");
names.forValue("Seguridad").addOptions("Lic. xxxxxx xxxxx xxxx","xxxxx xxxxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx");
names.forValue("Servicios Primarios").addOptions("xxxxx xxxxx xxxxx");
names.forValue("Ecologia").addOptions("xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx");
names.forValue("Desarrollo Rural").addOptions("xxxxx xxxxx xxxxx");
names.forValue("Desarrollo Social").addOptions("xxxxx xxxxx xxxxx");
names.forValue("Presidencia").addOptions("xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx");
names.forValue("Fomento Civico").addOptions("xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx","xxxxx xxxxx xxxxx");
</script>
шаблон.php
<?php
require_once dirname(__FILE__).'/PHPWord-master/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
use PhpOffice\PhpWord\TemplateProcessor;
$total = $_REQUEST[cantn] * $_REQUEST[precio];
$conexion=mysql_connect("localhost","root","") or
die("Problemas en la conexion");
mysql_select_db("presi",$conexion) or
die("Problemas en la seleccion de la base de datos");
mysql_query("insert into vales(dpto,rsp,cantn,imp,precio,uni,placas,placas2) values ('$_REQUEST[dpto]','$_REQUEST[rsp]','$_REQUEST[cantn]','$_REQUEST[imp]','$total','$_REQUEST[uni]','$_REQUEST[placas]','$_REQUEST[placas2]')", $conexion) or
die("Problemas en el select".mysql_error());
mysql_close($conexion);
$templateWord = new TemplateProcessor('plantilla.docx');
//$nombre = $_REQUEST['nombre'];
$folio = $_GET['id'];
$departamento = $_REQUEST['dpto'];
$responsable = $_REQUEST['rsp'];
$dia = $_REQUEST['dia'];
$mes = $_REQUEST['mes'];
$year = $_REQUEST['year'];
$cantn = $_REQUEST['cantn'];
$cantl = $_REQUEST['cantl'];
//$articulo = $_REQUEST['articulo'];
$importe = $_REQUEST['imp'];
$unidad = $_REQUEST['uni'];
$placas = $_REQUEST['placas'];
// --- Asignamos valores a la plantilla
//$templateWord->setValue('nombre',$nombre);
$templateWord->setValue('folio',$folio);
$templateWord->setValue('departamento',$departamento);
$templateWord->setValue('responsable',$responsable);
$templateWord->setValue('dia',$dia);
$templateWord->setValue('mes',$mes);
$templateWord->setValue('year',$year);
$templateWord->setValue('cantn',$cantn);
$templateWord->setValue('cantl',$cantl);
//$templateWord->setValue('articulo',$articulo);
$templateWord->setValue('importe',$importe);
$templateWord->setValue('unidad',$unidad);
$templateWord->setValue('placas',$placas);
// --- Guardamos el documento
ob_clean();
$templateWord->saveAs('Vales.docx');
header("Content-Disposition: attachment; filename=Vales.docx; charset=iso-8859-1");
echo file_get_contents('Vales.docx');
?>
Спасибо за время и извините за мой плохой английский.