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