Os cuento, estoy intentando generar un documento rtf, pero tengo un pequeño problema...
He seguido el manual que aparece en esta web: http://www.desarrolloweb.com/articulos/1826.php y he podido sacar algo... El problema viene en lo que yo quiero hacer.
Yo no tengo una plantilla para cada certificado, sino que mi intención es generar algo así como unas tarjetas de visita, por así decirlo, y pretendo que en una misma hoja/plantilla me entren 20 tarjetas, por ejemplo. Siguiendo con el ejemplo que dan en esa web tendría 20 tarjetas en cada hoja pero con los mismos datos, y yo necesito 20 tarjetas con diferentes datos.
¿Alguien puede echarme una mano? No sé de qué otra manera puedo plantearme esto... También me gustaría meter imágenes diferentes en otra aplicación (a modo de carnets) pero tampoco sé exactamente cómo hacerlo.
El código de la web es este:
Código PHP:
//Función
function leef ($fichero) {
$texto = file($fichero);
$tamleef = sizeof($texto);
for ($n=0;$n<$tamleef;$n++) {
$todo = $todo . $texto[$n];
}
return $todo;
}
//Función rtf
function rtf($sql,$plantilla,$fsalida,$matequivalencias) {
$pre=time();
$fsalida="/salida/".$pre.$fsalida;
mysql_connect(...);
//Paso
$txtplantilla = leef($plantilla);
//Paso
$matriz=explode('sectd',$txtplantilla);
$cabecera = $matriz[0].'sectd';
$inicio = strlen($cabecera);
$final=strrpos($txtplantilla,'}');
$largo=$final-$inicio;
$cuerpo=substr($txtplantilla,$inicio,$largo);
//Paso
$punt = fopen($fsalida,'w');
fputs($punt,$cabecera);
$result = mysql_db_query(...,$sql);
while ($row=mysql_fetch_object($result)) {
$despues=$cuerpo;
foreach ($matequivalencias as $dato) {
$datosql=$row->$dato[1];
$datosql=stripslashes($datosql);
$datortf=$dato[0];
$despues=str_replace($datortf,$datosql,$despues);
}
fputs($punt,$despues);
$saltopag = "\par \page \par";
fputs($punt,$saltopag);
}
fputs($punt,'}');
fclose($punt);
return $fsalida;
}
$plantilla = "plantilla.rtf";
$sql= "SELECT ...";
$equivalencias[0][0] = "#*NOMBRE*#-";
$equivalencias[0][1] = "nombre";
$equivalencias[1][0] = "#*APELLIDOS*#-";
$equivalencias[1][1] = "apellidos";
$salida = rtf($sql,$plantilla,"certificado.rtf",$equivalencias);
$salida = "<A href='$salida'>Obtener</a>";
echo "<p>$salida</p>";