Php 8 Kursların Kategori Ataması

Php 8 Kursların Kategori Ataması

PHP 8 ile kursların kategori ataması yapabilmek için öncelikle iki temel tablo oluşturmanız gerekiyor: bir "kategoriler" tablosu ve bir "kurslar" tablosu. Bu işlem, her kursun bir kategoriye atanmasını sağlayacak. Aşağıda, gerekli adımları açıklayacağım.

1. Veritabanı Tablolarını Oluşturma

Öncelikle, gerekli veritabanı tablolarını oluşturmalısınız.

Kategoriler Tablosu

CREATE TABLE kategoriler ( id INT AUTO_INCREMENT PRIMARY KEY, isim VARCHAR(100) NOT NULL );

Kurslar Tablosu

CREATE TABLE kurslar ( id INT AUTO_INCREMENT PRIMARY KEY, isim VARCHAR(100) NOT NULL, aciklama TEXT, fiyat DECIMAL(10, 2), kategori_id INT, FOREIGN KEY (kategori_id) REFERENCES kategoriler(id) );

2. HTML Kurs Ekleme Formu ile Kategori Seçimi

Kullanıcının kurs eklerken bir kategori seçebilmesi için HTML formunu güncelleyelim. Aşağıda, kurs ekleme formuna kategori seçimi eklenmiş hali bulunmaktadır:

<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Kurs Ekle</title> </head> <body> <h1>Kurs Ekle</h1> <form action="kurs_ekle.php" method="post"> <label for="isim">Kurs İsmi:</label> <input type="text" id="isim" name="isim" required> <br> <label for="aciklama">Açıklama:</label> <textarea id="aciklama" name="aciklama" required> </textarea> <br> <label for="fiyat">Fiyat:</label> <input type="number" id="fiyat" name="fiyat" step="0.01" required> <br> <label for="kategori">Kategori Seç:</label> <select id="kategori" name="kategori_id" required> <?php // Kategorileri veritabanından al $conn = new mysqli("localhost", "kullanici_adiniz", "sifreniz", "veritabani_adiniz"); $result = $conn->query("SELECT id, isim FROM kategoriler"); while ($row = $result->fetch_assoc()) { echo "<option value='" . $row['id'] . "'>" . $row['isim'] . "</option>"; } $conn->close(); ?> </select> <br> <input type="submit" value="Ekle"> </form> </body> </html>

3. PHP Kodu (kurs_ekle.php)

Formdan gelen verileri işleyerek yeni bir kurs eklemek için bir PHP dosyası oluşturalım:

<?php // Veritabanı bağlantısı $servername = "localhost"; $username = "kullanici_adiniz"; $password = "sifreniz"; $dbname = "veritabani_adiniz"; // Bağlantıyı oluştur $conn = new mysqli($servername, $username, $password, $dbname); // Bağlantıyı kontrol et if ($conn->connect_error) { die("Bağlantı başarısız: " . $conn->connect_error); } // Formdan gelen verileri kontrol et if ($_SERVER["REQUEST_METHOD"] == "POST") { $isim = $_POST['isim']; $aciklama = $_POST['aciklama']; $fiyat = $_POST['fiyat']; $kategori_id = $_POST['kategori_id']; // Prepared sorgu oluştur $stmt = $conn->prepare("INSERT INTO kurslar (isim, aciklama, fiyat, kategori_id) VALUES (?, ?, ?, ?)"); $stmt->bind_param("ssdi", $isim, $aciklama, $fiyat, $kategori_id); // Sorguyu çalıştır if ($stmt->execute()) { echo "Yeni kurs eklendi!"; } else { echo "Kurs eklenemedi: " . $stmt->error; } // Sorgu nesnesini kapat $stmt->close(); } // Bağlantıyı kapat $conn->close(); ?>

4. Açıklama

  • Kategoriler Tablosu: Her bir kategori için bir kayıt tutulur.
  • Kurslar Tablosu: Her kursun hangi kategoriye ait olduğunu belirtmek için kategori_id alanı eklenmiştir. Bu alan, kategoriler tablosundaki id alanına referans eder.
  • HTML Formu: Kurs eklerken, kullanıcıdan kurs ismi, açıklaması, fiyatı ve kategorisini alır. Kategoriler veritabanından çekilip, dropdown menü (select) olarak sunulur.
  • PHP Kodu: Formdan gelen verileri alır ve yeni bir kursu veritabanına ekler. kategori_id alanı, kullanıcının seçtiği kategoriye göre ayarlanır.

5. Kullanım

  1. kategoriler tablosuna birkaç kategori eklemelisiniz.
  2. Yukarıdaki HTML formunu bir dosyaya (örneğin, kurs_ekle_form.php) kaydedin.
  3. PHP kodunu başka bir dosyaya (örneğin, kurs_ekle.php) kaydedin.
  4. Web sunucunuzda bu dosyaları çalıştırarak kursları kategori ile birlikte ekleme işlemini deneyin.

Bu adımlarla, kursların kategori ataması yapılmasını sağlayan bir uygulama oluşturmuş oldunuz.



Yorum Ekle

Üzerine gel