Php 8 Kategori Menüsü

Php 8 Kategori Menüsü

PHP 8 ile kategori menüsü oluşturmak, kullanıcı deneyimini artıran önemli bir unsurdur. Aşağıda, kategori menüsü oluşturma sürecini ve dikkate almanız gereken noktaları bulabilirsiniz.

1. Veritabanı Tasarımı

Öncelikle, kategorileri depolamak için bir veritabanı yapısı oluşturmalısınız. Aşağıdaki basit bir tablo yapısı örneğidir:

CREATE TABLE categories ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, parent_id INT DEFAULT NULL, FOREIGN KEY (parent_id) REFERENCES categories(id) );

Bu yapıda, parent_id kolonuyla alt kategorileri tanımlayabilirsiniz.

2. Veritabanı Bağlantısı

PHP’de PDO veya MySQLi kullanarak veritabanınıza bağlanın. İşte PDO ile bir örnek:

$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');

3. Kategorileri Çekme

Kategorileri veritabanından çekmek için bir sorgu yazın. Alt kategorileri de göz önünde bulundurmak için rekürsif bir fonksiyon kullanabilirsiniz:

function getCategories( $parentId = null ) { global $pdo; $stmt = $pdo->prepare('SELECT * FROM categories WHERE parent_id = ?'); $stmt->execute([$parentId]); return $stmt->fetchAll(PDO::FETCH_ASSOC); }

4. Kategori Menüsü Oluşturma

Alınan kategorileri kullanarak menüyü oluşturabilirsiniz. Örneğin, basit bir HTML yapısı kullanarak menüyü oluşturabilirsiniz:

function renderMenu( $parentId = null ) { $categories = getCategories($parentId); if ($categories) { echo '<ul>'; foreach ($categories as $category) { echo '<li>' . htmlspecialchars($category['name']); renderMenu($category['id']); // Alt kategorileri çağır echo '</li>'; } echo '</ul>'; } } // Menüyü render et renderMenu();

5. Menüyü Stil Vermek

CSS ile menünüze stil verebilirsiniz. Basit bir örnek:

ul { list-style-type: none; padding: 0; } li { margin: 5px 0; }

6. Kullanıcı Arayüzü

Kullanıcıların kategoriye tıklayarak içeriklere ulaşabilmesi için bağlantılar eklemeyi unutmayın. Kategorileri listelemeniz gerektiğinde, her kategori adını bir bağlantıya dönüştürebilirsiniz:

echo '<li><a target="_blank" href="category.php?id=' . $category['id'] . '">' . htmlspecialchars($category['name']) . '</a>';

7. Güvenlik

Kullanıcı girişlerini her zaman doğrulayın. Özellikle URL parametrelerini kullanırken, SQL enjeksiyonuna karşı koruma sağlamak için hazırlanmış sorgular (prepared statements) kullanın.

Sonuç

Bu adımları takip ederek PHP 8 ile dinamik bir kategori menüsü oluşturabilirsiniz. Kategori yapınızı ve menünüzü gereksinimlerinize göre daha da özelleştirebilirsiniz. Daha karmaşık yapılar için framework’leri (örneğin Laravel) kullanmayı da düşünebilirsiniz.



Yorum Ekle

Üzerine gel