Buenas tardes. Os pongo el código
Código PHP:
<?php
//use Mpdf\Mpdf;
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if(isset($_POST['idpre'])){
// conectare la base de datos
include "../clases/conexion.php";
//require "scripts.php";
if($_SESSION['conectar'] == "conectar"){
$obj= new conectar();
$conexion = $obj->conexion();
}else{
$obj= new conectar();
$conexion = $obj->conexion_1();
}
}
//Necesitamos recuperar los datos del presupuesto
$id_pre = $_POST['idpre'];
$sql_pre = "SELECT * FROM presupuestos WHERE id_presupuesto = '".$id_pre."'";
$result_pre = mysqli_query($conexion, $sql_pre);
$fila_pre = mysqli_fetch_assoc($result_pre);
//Necesitamos los datos del cliente
$sql_cli = "SELECT * FROM clientes WHERE id_cliente = '".$fila_pre['id_cliente_pre']."'";
$result_cli = mysqli_query($conexion, $sql_cli);
$fila_cli = mysqli_fetch_assoc($result_cli);
//También los datos de la empresa
$sql_empresa = "SELECT * FROM empresa";
$resul_empresa = mysqli_query($conexion, $sql_empresa);
$fila_empresa = mysqli_fetch_assoc($resul_empresa);
$ruta_logo ="../img/";
ob_start();
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">-->
<!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">-->
<!-- Optional theme -->
<!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">-->
<link rel="stylesheet" href="../css/bs/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="../css/bs/bootstrap-theme.min.css">
<title>Imprimir presupuesto</title>
<style>
hr {
height: 3px;
background-color: red;
margin-left: 10px;
margin-right: 10px;
}
</style>
</head>
<body>
<!-- Comenzamos diseñando el prespuesto -->
<div class="container-fluid" style="font-size: 12px;">
<div class="row">
<img style="width: 300px; height: 100px;" src="<?php echo $ruta_logo.$fila_empresa['logo'];?>">
</div>
<div class="row" style="margin-right: 10px; margin-top: 20px; width: 100%;">
<div class="col-xs-12" style="margin-left: 0px !important;">
<table class="table mt-3" style="border-style: solid;">
<tr>
<td>
<span><?php echo $fila_empresa['nombre'];?></span>
<br>
<span>Cif: <?php echo $fila_empresa['cif'];?></span>
<br>
<span><?php echo $fila_empresa['direccion'];?></span>
<br>
<span><?php echo $fila_empresa['tel'];?></span>
<br>
<span><?php echo $fila_empresa['email'];?></span>
</td>
<td class="text-right">
<span><?php echo $fila_cli['nombre'];?></span>
<br>
<span><?php echo $fila_cli['direccion'];?></span>
<br>
<span><?php echo $fila_cli['telefono'];?></span>
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- Aquí va el número de presupuesto y la fecha -->
<div class="row" style="margin-right: 20px; margin-left: 20px; text-align:center;">
<div class="col-xs-4 col-xs-offset-4" style="border-style: solid; text-align:center;">
<span>Número presupuesto: <span class="font-weight-bold"><?php echo $fila_pre['numero_presupuesto'];?></span></span>
<br>
<span>Fecha Presupuesto: <span class="font-weight-bold"><?php echo $fila_pre['fecha_presupuesto'];?></span></span>
</div>
</div>
<!-- vamos ha hacerlo con rows y cols -->
<!-- Primero los encabezados -->
<div class="row" style="margin-top: 10px; margin-right: 10px; margin-left: 10px; background-color: blue; color: white;
font-size: 14px; font-weight:bold; line-height: 30px;">
<div class="col-xs-10">
<span>Descripción</span>
</div>
<div class="col-xs-2">
<span>Precio</span>
</div>
</div>
<?php
$sql_detalles = "SELECT * FROM detalles_presupuesto WHERE id_presupuesto = '".$fila_pre['id_presupuesto']."'";
$resul_detalles = mysqli_query($conexion, $sql_detalles);
while($fila_detalle = mysqli_fetch_assoc($resul_detalles)){
?>
<div class="row" style="margin-top: 10px; margin-right: 10px; margin-left: 10px; font-size: 12px;">
<div class="col-xs-10"><p><?php echo nl2br($fila_detalle['descripcion']);?></p></div>
<div class="col-xs-2" style="page-break-inside:avoid !important;"><span style="page-break-inside:avoid !important;"><?php echo number_format($fila_detalle['precio'], 2, ',', '.').'€'?></span></div>
</div>
<hr style=" height: 3px; background-color: red; margin-left: 10px; margin-right: 10px;">
<?php
}
?>
<!-- Fin -->
<!-- Aquí va la tabla con los detalles de presupuesto -->
<!-- Aquí los totales -->
<div class="row" style="margin-right: 45px;">
<div class="col-xs-4 col-xs-offset-8" style="font-size: 14px; font-weight: bold; border-style:solid;">
<table class="table">
<tr style="padding: 5px;">
<td>Total Presupuesto:</td>
<td style="color:red; text-align:right;"><?php echo number_format($fila_pre['total_presupuesto'], 2,',', '.').'€';?></td>
</tr>
<tr>
<td>Iva:</td>
<td style="color:red; text-align:right;"><?php echo $fila_pre['iva'].'%';?></td>
</tr>
<tr>
<td>Total Iva:</td>
<td style="color:red; text-align:right;"><?php echo number_format($fila_pre['total_iva'], 2,',', '.').'€';?></td>
</tr>
<tr>
<td>Total Con Iva:</td>
<td style="color:red; text-align:right;"><?php echo number_format($fila_pre['total_con_iva'], 2,',', '.').'€';?></td>
</tr>
</table>
</div>
</div>
</div>
</body>
</html>
<?php
$html = ob_get_clean();
//echo $html;
require_once "../dompdf/autoload.inc.php";
$numero_presupuesto = $fila_pre['numero_presupuesto'];
$nombre_archivo = "Presupuesto-" .$numero_presupuesto.".pdf";
use DompdfDompdf;
$dompdf = new dompdf();
$options = $dompdf->getOptions();
$options->set(array('isRemoteEnabled' => true));
$dompdf->setOptions($options);
$html .= '<style>
'.file_get_contents("../css/bs/bootstrap.min.css").'
</style>';
$dompdf->loadhtml($html);
$dompdf->setPaper('A4', "portrait");
$dompdf->render();
$pdfContent = $dompdf->output();
$salida= array(
'name' => $nombre_archivo,
'file' => "data:application/pdf;base64," . base64_encode($pdfContent)
);
header('Content-type: application/json');
echo json_encode($salida);
?>
Entonces, al imprimir un registro muy largo, tendría que imprimir descripción y a la derecha el precio, pero no lo hace así, imprime toda la descripción y cuando pasa de página sí imprime a la derecha el precio de ese registro y yo quiero que lo haga al comienzo del registro. Gracias.