- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
感谢您访问我的帖子,我是 php 编程的新手,目前我正在尝试制作一个允许用户制作加油券的 Web 应用程序。这要归功于将数据存储在 mysql 数据库中的多个 Web 表单和动态选项列表。我正在尝试做的是从数据库中获取将位于每张优惠券中的信息,并将我定义到单词模板中的变量替换掉。
实际上,应用程序允许用户制作一张优惠券(它所做的是从表单和列表中获取信息,并使用 POST 方法替换 php 代码中的变量。)
我真的希望有人能帮助我,因为这就是我完成申请所需要的一切
Here's a picture of the coupons
这是我的 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');
?>
谢谢你的时间,抱歉我的英语不好。
最佳答案
好的 - 如果这次我没有正确理解问题,即你需要将所有优惠券打印到单个单词文件中(?)如果你想为每张优惠券创建多个单词文件,那么你只需要获取所有数据库数据并使用模板创建单个单词文件(正如您已经在做的那样),将所有创建的优惠券文件存储在服务器中的某个位置,将文件打包成单个文件(zip 或其他文件)并将该文件提供给用户.. .
因此,对于在单个单词文件中创建优惠券的情况:
首先,您需要稍微修改您的 word 模板:在您希望为每张优惠券复制的区域周围添加所需的模板标签(开始和结束标签,在本例中名为 CLONEME),例如:
${CLONEME}
Here is your normal single coupon template fields, i.e.
${folio}
${departamento}
...
$(/CLONEME}
你可以用这样的方式处理数据插入到你的word模板中:
// first fetch your coupons from the db
$result = mysql_query("SELECT * FROM vales", $conexion);
if(!$result)
{
die("Database query failed: " . mysql_error());
}
// then get your template and clone the coupon block for each of the results
$templateWord = new TemplateProcessor('plantilla.docx');
$templateWord->cloneBlock('CLONEME', mysql_num_rows($result));
// loop over your results and fill the template values
while ($row = mysql_fetch_array($result))
{
// NOTE! add the 1 parameter to each setValue so that it replaces only
// one template field at time (after cloning the block the template
// contains several same named template fields - for each coupon that is)
$templateWord->setValue("departamento", $row["dpto"], 1);
// ... similarly the other values...
}
// and last, store the word result etc
关于PHPWord 用mysql 表数据填充.docx 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655638/
是否可以使用 PHPWord 对 Word 文档上的文本进行简单的查找和替换?据我所知,您能得到的最接近的结果就是将文本添加到一个部分,并且除了字体等之外,您无法操作现有文本。如果没有,有什么免费的东
尝试使用 PHP 库 PHPWord 创建 MS Word 文档。 你能帮我如何合并文档中的两个或多个单元格吗?或者如何在每个表格行中有不同数量的单元格? 我尝试将单元格定义为: $cell11 =
尝试使用 PHP 库 PHPWord 创建 MS Word 文档。 你能帮我如何合并文档中的两个或多个单元格吗?或者如何在每个表格行中有不同数量的单元格? 我尝试将单元格定义为: $cell11 =
我正在使用 PHPWord 0.12.0。我创建了一个表格,但似乎无法对齐单元格中的文本。这是我的特定行代码: $table->addCell(1540, array('bgColor' => 'dd
是否可以在 PHPWord 中将项目符号颜色更改为黑色以外的任何其他颜色?我尝试为列表和文本添加颜色,但似乎没有任何效果。 $phpWord->addFontStyle('myOwnStyle', a
我在使用 PHPWord 时遇到了一些问题。总的来说,该模块相当简单易用,但有一件事我似乎做不到:为标题添加样式(或者根本不添加标题,真的)。 背景: 我的文档生成正确,我正在从数据库加载变量和文本,
我在使用 PHPWord 时遇到了一些问题。总的来说,该模块相当简单易用,但有一件事我似乎做不到:为标题添加样式(或者根本不添加标题,真的)。 背景: 我的文档生成正确,我正在从数据库加载变量和文本,
我收到这个错误: Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file.' in /ho
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我有一个 docx 文件,我需要替换一些文本。这是在 codeigniter 框架内完成的;这是代码: $this->load->library('word'); $template =
我的基本 PHPWord 设置正在运行。 这是我的代码: '; $result .= 'Results: '; foreach ($
我正在尝试用 PHPWord 编写一个表格,该表格在一个单元格中具有多种文本格式,例如在 HTML 中: L1 = 999 Blah 我会这样写: $table = $se
我正在使用 PHPWord 生成报告,但我没有找到在每个页面中保留表格标题的方法。问题是我无法为单元格提供样式,并且标题和主表之间有一些空间。 我试试这个,但我认为这不是最好的解决方案: create
我目前正在使用 PHPWord 生成我的文档,但我想在文档中添加一条水平线。就像在 HMTL 中一样。在 Word 中,您可以通过在 Enter 中键入三个下划线来完成此操作,但我想在生成的文档中使用
我正在使用https://github.com/PHPOffice/PHPWord生成word文档。函数 addTOC 生成带有标题的页面索引,但由于某种原因,页码不显示。 // add table
当我使用addText()时,它与align=center(向左或向右)一起工作正常,但是当我尝试使用align=justify时脚本工作没有问题,但是当我尝试打开 .docx 文件时,它给出错误并且
如何在文本运行中添加文本分隔符或转到下一行/行?我试图在文本运行时只执行 $section->addTextBreak(2); 但它只是在文本运行后将中断添加到该部分。我也试过 $textrun->a
没有太多使用 phpWord 的经验,遇到以下错误: Fatal error: Uncaught exception 'BadMethodCallException' with message 'Ca
一切正常,但我真的尝试在 phpword 中制作一个表格,在表格内的文本下方没有空格。请帮助我形成这种情况。 这是我的代码.... $phpWord = new \PhpOffice\PhpWord\
我对 phpword 表有疑问。 我有下表,我想克隆第一个表行并替换其中的信息。到目前为止,我没有任何进展。我使用 getVariables() 方法从文档中获取所有变量并循环遍历它们。我检查了该值是
我是一名优秀的程序员,十分优秀!