setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "
📝 INSERT SAMPLE BERITA
";
echo "
";
// Cek apakah sudah ada berita
$stmt = $pdo->query("SELECT COUNT(*) as total FROM berita");
$count = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
if ($count > 0) {
echo "⚠️ Sudah ada {$count} berita di database.
";
echo "Apakah Anda ingin menambah berita sample lagi?
";
echo "";
if (!isset($_POST['tambah'])) {
exit;
}
}
echo "🚀 Menambahkan sample berita...
";
// Ambil santri untuk pivot table
$stmt = $pdo->query("SELECT id_santri FROM santris WHERE status = 'Aktif' LIMIT 3");
$santriList = $stmt->fetchAll(PDO::FETCH_COLUMN);
if (count($santriList) < 1) {
die("❌ Tidak ada santri aktif! Tidak bisa buat sample berita 'santri_tertentu'
");
}
// 1. Berita untuk SEMUA
$sql = "INSERT INTO berita (id_berita, judul, konten, penulis, status, target_berita, created_at, updated_at)
VALUES (?, ?, ?, ?, 'published', 'semua', NOW(), NOW())";
$beritaSemua = [
['B101', 'Pengumuman Libur Pondok', 'Assalamualaikum. Pondok akan libur tanggal 10-15 Februari 2026. Harap kembali tanggal 16 Februari jam 07:00. Barakallah.', 'Admin Pondok'],
['B102', 'Jadwal Ujian Semester', 'Kepada seluruh santri, ujian semester akan dimulai 20 Februari 2026. Silakan persiapkan diri dengan baik. Semoga sukses!', 'Bagian Pendidikan'],
];
foreach ($beritaSemua as $data) {
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
echo "✅ Berita {$data[0]} (target: SEMUA) berhasil ditambahkan
";
} catch (PDOException $e) {
if (strpos($e->getMessage(), 'Duplicate entry') !== false) {
echo "⚠️ Berita {$data[0]} sudah ada (skip)
";
} else {
echo "❌ Error: {$e->getMessage()}
";
}
}
}
echo "
";
// 2. Berita untuk KELAS TERTENTU
$sql = "INSERT INTO berita (id_berita, judul, konten, penulis, status, target_berita, target_kelas, created_at, updated_at)
VALUES (?, ?, ?, ?, 'published', 'kelas_tertentu', ?, NOW(), NOW())";
$beritaKelas = [
['B103', 'Info Kelas PB', 'Kepada santri kelas PB, akan ada kelas tambahan setiap Kamis jam 15:00. Mohon hadir tepat waktu.', 'Ustadz Nahwu', '["PB"]'],
['B104', 'Ujian Kelas Lambatan', 'Santri kelas Lambatan akan ujian kenaikan tingkat tanggal 5 Maret 2026. Harap persiapkan diri!', 'Bagian Pendidikan', '["Lambatan"]'],
['B105', 'Kegiatan Kelas Cepatan', 'Kelas Cepatan akan muhadhoroh setiap Jumat malam. Jadwal akan dibagikan minggu depan.', 'Ustadz Pembimbing', '["Cepatan"]'],
];
foreach ($beritaKelas as $data) {
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
echo "✅ Berita {$data[0]} (target: KELAS) berhasil ditambahkan
";
} catch (PDOException $e) {
if (strpos($e->getMessage(), 'Duplicate entry') !== false) {
echo "⚠️ Berita {$data[0]} sudah ada (skip)
";
} else {
echo "❌ Error: {$e->getMessage()}
";
}
}
}
echo "
";
// 3. Berita untuk SANTRI TERTENTU
$sql = "INSERT INTO berita (id_berita, judul, konten, penulis, status, target_berita, created_at, updated_at)
VALUES (?, ?, ?, ?, 'published', 'santri_tertentu', NOW(), NOW())";
$beritaSantri = [
['B106', 'Pesan Khusus - Menemui Admin', 'Assalamualaikum. Saudara diminta menemui bagian administrasi hari Senin jam 10:00. Terima kasih.', 'Admin'],
['B107', 'Reminder Uang Saku', 'Saldo uang saku Anda menipis (di bawah Rp 50.000). Harap segera top up. Barakallah.', 'Bagian Keuangan'],
];
foreach ($beritaSantri as $data) {
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
echo "✅ Berita {$data[0]} (target: SANTRI TERTENTU) berhasil ditambahkan
";
// Insert ke pivot table untuk santri pertama
if (count($santriList) > 0) {
$sqlPivot = "INSERT INTO berita_santri (id_berita, id_santri, sudah_dibaca, created_at, updated_at)
VALUES (?, ?, FALSE, NOW(), NOW())";
$stmtPivot = $pdo->prepare($sqlPivot);
$stmtPivot->execute([$data[0], $santriList[0]]);
echo " └─ Ditambahkan untuk santri {$santriList[0]}
";
}
} catch (PDOException $e) {
if (strpos($e->getMessage(), 'Duplicate entry') !== false) {
echo "⚠️ Berita {$data[0]} sudah ada (skip)
";
} else {
echo "❌ Error: {$e->getMessage()}
";
}
}
}
echo "
";
echo "✅ SELESAI!
";
// Tampilkan ringkasan
$stmt = $pdo->query("SELECT target_berita, COUNT(*) as jumlah FROM berita GROUP BY target_berita");
$summary = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "📊 Ringkasan Berita:
";
foreach ($summary as $row) {
echo "- {$row['target_berita']}: {$row['jumlah']} berita
";
}
echo "
";
echo "Test Query Berita ";
echo "Debug API Berita";
} catch (PDOException $e) {
echo "❌ ERROR
";
echo "{$e->getMessage()}
";
}
?>