posts Array Pdo

Una manera adequada de nomenar aquesta consulta PDO podria ser "ObtenirPàginesPerCategoriaIEtiqueta" o "LlistarPàginesFiltrades". Aquest nom reflecteix que la consulta selecciona posts associats a una categoria i etiqueta específica. També pot ser útil considerar la claredat de la consulta en el context de l'aplicació, per exemple:

Una manera adequada de nomenar aquesta consulta PDO podria ser "ObtenirPàginesPerCategoriaIEtiqueta" o "LlistarPàginesFiltrades". Aquest nom reflecteix que la consulta selecciona posts associats a una categoria i etiqueta específica. També pot ser útil considerar la claredat de la consulta en el context de l'aplicació, per exemple:

  • "ObtenirPostsPerCategoriaIEtiqueta"
  • "LlistarPostsFiltrats"
  • "ConsultaPostsPerCategoriaETiqueta"

Aquests noms són descriptius i indiquen que estàs obtenint una llista de posts amb filtres específics per categoria i etiqueta.

<div x-show="openProjectes" x-transition
                                class="absolute right-0 mt-1 w-[600px] bg-purple-200 border rounded-lg shadow-xl p-1 grid grid-cols-4 gap-2 z-50">
<?php
$host = '127.0.0.1';
$db = 'laravel12';
$user = 'joan';
$pass = 'queMm88/g62123';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];

try {
$pdo = new PDO($dsn, $user, $pass, $options);
$stmt = $pdo->prepare("
SELECT posts.id, posts.title, posts.img, posts.url
FROM posts
INNER JOIN post_etiquetas ON posts.id = post_etiquetas.post_id
WHERE posts.category_id = 23 AND post_etiquetas.etiqueta_id = 131
ORDER BY posts.title ASC
LIMIT 12
");
$stmt->execute();
$pagines = $stmt->fetchAll();
} catch (\PDOException $e) {
echo 'Error de connexió: ' . $e->getMessage();
$pagines = [];
}
?>

                                <?php foreach ($pagines as $pagina): ?>
                                <a href="<?= $pagina['url'] ?>"
                                    class="block text-center hover:bg-gray-100 p-1 rounded-lg">
                                    <img src="/storage/<?= $pagina['img'] ?>" alt="<?= $pagina['title'] ?>"
                                        class="mx-auto mb-1 rounded h-[80px] object-cover">
                                    <span class="text-xs text-gray-700"><?= $pagina['title'] ?></span>
                                </a>
                                <?php endforeach; ?>

                            </div>


 <div x-show="openEtiquetes" x-transition
                                class="absolute left-0 mt-2  w-64 bg-purple-200 border rounded-lg shadow-lg z-50">
<?php
$host = '127.0.0.1';
$db = 'laravel12';
$user = 'joan';
$pass = 'queMm88/g62123';

try {
$pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);

$ids = [17, 40, 41, 42, 62, 106, 63, 67];
$placeholders = implode(',', array_fill(0, count($ids), '?'));
$stmt = $pdo->prepare("SELECT id, name, svg FROM etiquetas WHERE id IN ($placeholders) ORDER BY name ASC");
$stmt->execute($ids);
$etiquetas = $stmt->fetchAll();

foreach ($etiquetas as $etiqueta): ?>
<a href="/?etiqueta_id=<?= $etiqueta['id'] ?>"
class="block px-3 py-2 text-gray-700 hover:bg-gray-100">
<div class="flex items-center gap-6">
<div class="w-5 h-5 flex-shrink-0"><?= $etiqueta['svg'] ?></div>
<div class="text-sm whitespace-nowrap">
<?= htmlspecialchars($etiqueta['name']) ?></div>
</div>
</a>

<?php endforeach;
} catch (Exception $e) {
echo '<span class="block px-3 py-2 text-gray-500">Error carregant etiquetes</span>';
}
?>
                            </div>
  • Categoria: web_development
  • URL: http://laravel12.test/
  • Etiquetes: array, laravel, mysql, php, navbar
  • Data de creació: 24/03/2025
  • Última actualització: 24/03/2025