G. php / producto-vista-index.php

1
<?php
2
3
require_once __DIR__ . "/lib/manejaErrores.php";
4
require_once __DIR__ . "/lib/devuelveJson.php";
5
require_once __DIR__ . "/Bd.php";
6
7
$bd = Bd::pdo();
8
$stmt = $bd->query("SELECT * FROM PRODUCTO ORDER BY PROD_NOMBRE");
9
$lista = $stmt->fetchAll(PDO::FETCH_ASSOC);
10
11
$render = "";
12
foreach ($lista as $modelo) {
13
 $prodId = htmlentities($modelo["PROD_ID"]);
14
 $prodNombre = htmlentities($modelo["PROD_NOMBRE"]);
15
 $encodeArchId =
16
 $modelo["ARCH_ID"] === null ? "" : urlencode($modelo["ARCH_ID"]);
17
 $archId = $encodeArchId === "" ? "" : htmlentities($encodeArchId);
18
 $src = $archId === "" ? "" : "php/archivo.php?id=$archId";
19
 // Los bytes de las imágenes se descargan con "archivo.php"; no desde aquí.
20
 $render .=
21
  "<div style='display: flex; flex-direction: row-reverse;
22
      align-items: center; gap: 0.5rem'>
23
     <dt style='flex: 1 1 0'>
24
      <a href='modifica.html?id=$prodId'>$prodNombre</a>
25
     </dt>
26
     <dd style='flex: 1 1 0; margin: 0'>
27
      <a href='modifica.html?id=$prodId'><img
28
        style='width: 100%; aspect-ratio:16/9; object-fit: cover'
29
        alt='Imagen del producto' src='$src'></a>
30
     </dd>
31
    </div>";
32
}
33
34
devuelveJson(["lista" => ["innerHTML" => $render]]);
35
skip_previous skip_next