# Página de Recibos Salvos (PHP + MySQL)

```php
<?php
include_once('../config.php');
include_once('../header.php');

// CRIA TABELA AUTOMATICAMENTE CASO NÃO EXISTA
$conn->query("
CREATE TABLE IF NOT EXISTS recibos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    cliente VARCHAR(255),
    telefone VARCHAR(100),
    cpf VARCHAR(100),
    endereco TEXT,
    email VARCHAR(255),
    itens LONGTEXT,
    total DECIMAL(10,2),
    data_recibo DATETIME DEFAULT CURRENT_TIMESTAMP
)
");

// EXCLUIR RECIBO
if(isset($_GET['excluir'])) {
    $id = intval($_GET['excluir']);
    $conn->query("DELETE FROM recibos WHERE id='$id'");
    echo "<script>location.href='recibos.php';</script>";
}

// BUSCAR RECIBOS
$recibos = $conn->query("SELECT * FROM recibos ORDER BY id DESC");
?>

<style>
body {
    font-family: Arial, sans-serif;
    background: #f5f5f5;
}

.area-recibos {
    max-width: 1200px;
    margin: auto;
    padding: 20px;
}

.topo {
    background: #fff;
    padding: 20px;
    border: 1px solid #ccc;
    margin-bottom: 20px;
}

.topo h1 {
    margin: 0;
    font-size: 24px;
}

.tabela {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.tabela th {
    background: #333;
    color: #fff;
    padding: 12px;
    border: 1px solid #444;
    font-size: 13px;
}

.tabela td {
    padding: 10px;
    border: 1px solid #ddd;
    font-size: 13px;
    font-weight: bold;
}

.btn {
    display: inline-block;
    padding: 8px 12px;
    text-decoration: none;
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
}

.btn-ver {
    background: #00569e;
}

.btn-del {
    background: #c62828;
}

.sem-recibo {
    background: #fff;
    padding: 30px;
    text-align: center;
    border: 1px solid #ccc;
}
</style>

<div class="area-recibos">

    <div class="topo">
        <h1>📄 RECIBOS SALVOS</h1>
    </div>

    <?php if($recibos->num_rows > 0): ?>

    <table class="tabela">
        <thead>
            <tr>
                <th>ID</th>
                <th>CLIENTE</th>
                <th>TELEFONE</th>
                <th>TOTAL</th>
                <th>DATA</th>
                <th width="220">AÇÕES</th>
            </tr>
        </thead>

        <tbody>
            <?php while($r = $recibos->fetch_assoc()): ?>
            <tr>
                <td>#<?php echo $r['id']; ?></td>
                <td><?php echo $r['cliente']; ?></td>
                <td><?php echo $r['telefone']; ?></td>
                <td>
                    R$ <?php echo number_format($r['total'], 2, ',', '.'); ?>
                </td>
                <td>
                    <?php echo date('d/m/Y H:i', strtotime($r['data_recibo'])); ?>
                </td>
                <td>
                    <a class="btn btn-ver" href="ver_recibo.php?id=<?php echo $r['id']; ?>">
                        👁 VER
                    </a>

                    <a class="btn btn-del"
                       onclick="return confirm('Excluir recibo?')"
                       href="?excluir=<?php echo $r['id']; ?>">
                        🗑 EXCLUIR
                    </a>
                </td>
            </tr>
            <?php endwhile; ?>
        </tbody>
    </table>

    <?php else: ?>

    <div class="sem-recibo">
        NENHUM RECIBO SALVO.
    </div>

    <?php endif; ?>

</div>
```

---

# COMO SALVAR OS RECIBOS

Antes do botão imprimir da sua página atual, você pode enviar os dados para o banco.

Crie um arquivo chamado:

```text
salvar_recibo.php
```

Cole:

```php
<?php
include_once('../config.php');

$cliente = $_POST['cliente'];
$telefone = $_POST['telefone'];
$cpf = $_POST['cpf'];
$endereco = $_POST['endereco'];
$email = $_POST['email'];
$itens = $_POST['itens'];
$total = $_POST['total'];

$conn->query("INSERT INTO recibos (
    cliente,
    telefone,
    cpf,
    endereco,
    email,
    itens,
    total
) VALUES (
    '$cliente',
    '$telefone',
    '$cpf',
    '$endereco',
    '$email',
    '$itens',
    '$total'
)");

echo 'OK';
```

---

# BOTÃO PARA SALVAR AUTOMATICAMENTE

Na sua página do recibo, antes do:

```javascript
window.print()
```

adicione:

```javascript
async function salvarRecibo() {

    const dados = new FormData();

    dados.append('cliente', document.getElementById('c_nome').value);
    dados.append('telefone', document.getElementById('c_tel').value);
    dados.append('cpf', document.getElementById('c_cpf').value);
    dados.append('endereco', document.getElementById('c_end').value);
    dados.append('email', document.getElementById('c_email').value);
    dados.append('itens', JSON.stringify(itens));

    let total = 0;

    itens.forEach(item => {
        total += item.total;
    });

    dados.append('total', total);

    await fetch('salvar_recibo.php', {
        method: 'POST',
        body: dados
    });

    window.print();
}
```

Depois troque:

```html
onclick="window.print()"
```

por:

```html
onclick="salvarRecibo()"
```

Assim:

* o recibo salva automaticamente;
* fica guardado no banco;
* você pode reabrir depois;
* pode excluir;
* pode imprimir novamente.
