İşinize yarar mı bilemiyorum. Ada ve anahtar kelimeye göre okulları listeleyebilir web adreslerinie ulaşabilirsiniz.
Test: https://dijitalokulpanosu.com.tr/b/okul_ara.php?il=34
PHP kodu:
Test: https://dijitalokulpanosu.com.tr/b/okul_ara.php?il=34
PHP kodu:
Kod:
<?php
header('Content-Type: text/html; charset=utf-8');
$api_url = '^.runbox.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$dosya_icerigi = curl_exec($ch);
curl_close($ch);
if (!$dosya_icerigi) {
die("Veri merkezine ulaşılamıyor. Hata: Bağlantı kurulamadı.");
}
// Satırlara böl
$satirlar = explode("\n", $dosya_icerigi);
// Parametreleri al
$seciliIlId = isset($_GET['il']) ? $_GET['il'] : '0';
$seciliIlce = isset($_GET['ilce']) ? trim($_GET['ilce']) : '';
$aranan = isset($_GET['q']) ? trim($_GET['q']) : '';
$sayfa = isset($_GET['s']) ? (int)$_GET['s'] : 1;
$limit = 50;
function tr_up($metin) {
return strtoupper(str_replace(['ı', 'i', 'ğ', 'ü', 'ş', 'ö', 'ç'], ['I', 'İ', 'Ğ', 'Ü', 'Ş', 'Ö', 'Ç'], $metin));
}
$iller = [1=>"ADANA", 2=>"ADIYAMAN", 3=>"AFYONKARAHİSAR", 4=>"AĞRI", 5=>"AMASYA", 6=>"ANKARA", 7=>"ANTALYA", 8=>"ARTVİN", 9=>"AYDIN", 10=>"BALIKESİR", 11=>"BİLECİK", 12=>"BİNGÖL", 13=>"BİTLİS", 14=>"BOLU", 15=>"BURDUR", 16=>"BURSA", 17=>"ÇANAKKALE", 18=>"ÇANKIRI", 19=>"ÇORUM", 20=>"DENİZLİ", 21=>"DİYARBAKIR", 22=>"EDİRNE", 23=>"ELAZIĞ", 24=>"ERZİNCAN", 25=>"ERZURUM", 26=>"ESKİŞEHİR", 27=>"GAZİANTEP", 28=>"GİRESUN", 29=>"GÜMÜŞHANE", 30=>"HAKKARİ", 31=>"HATAY", 32=>"ISPARTA", 33=>"MERSİN", 34=>"İSTANBUL", 35=>"İZMİR", 36=>"KARS", 37=>"KASTAMONU", 38=>"KAYSERİ", 39=>"KIRKLARELİ", 40=>"KIRŞEHİR", 41=>"KOCAELİ", 42=>"KONYA", 43=>"KÜTAHYA", 44=>"MALATYA", 45=>"MANİSA", 46=>"KAHRAMANMARAŞ", 47=>"MARDİN", 48=>"MUĞLA", 49=>"MUŞ", 50=>"NEVŞEHİR", 51=>"NİĞDE", 52=>"ORDU", 53=>"RİZE", 54=>"SAKARYA", 55=>"SAMSUN", 56=>"SİİRT", 57=>"SİNOP", 58=>"SİVAS", 59=>"TEKİRDAĞ", 60=>"TOKAT", 61=>"TRABZON", 62=>"TUNCELİ", 63=>"ŞANLIURFA", 64=>"UŞAK", 65=>"VAN", 66=>"YOZGAT", 67=>"ZONGULDAK", 68=>"AKSARAY", 69=>"BAYBURT", 70=>"KARAMAN", 71=>"KIRIKKALE", 72=>"BATMAN", 73=>"ŞIRNAK", 74=>"BARTIN", 75=>"ARDAHAN", 76=>"IĞDIR", 77=>"YALOVA", 78=>"KARABÜK", 79=>"KİLİS", 80=>"OSMANİYE", 81=>"DÜZCE"];
$hedefIl = ($seciliIlId != '0' && isset($iller[$seciliIlId])) ? $iller[$seciliIlId] : 'TÜMÜ';
$ilceListesi = [];
$tumSonuclar = [];
$arananBuyuk = tr_up($aranan);
$seciliIlceBuyuk = tr_up($seciliIlce);
// VERİLERİ İŞLEME (Foreach döngüsü ile)
foreach ($satirlar as $satir) {
if (empty(trim($satir))) continue;
$p = explode('|', $satir);
if (count($p) < 3) continue;
$ilAdi = tr_up(trim($p[0]));
$ilceAdi = trim($p[1]);
$okulAdi = trim($p[2]);
// İlçeleri ayıkla
if ($hedefIl !== 'TÜMÜ' && $ilAdi === $hedefIl) {
if (!in_array($ilceAdi, $ilceListesi)) { $ilceListesi[] = $ilceAdi; }
}
// Filtrele
if ($hedefIl !== 'TÜMÜ' && $ilAdi !== $hedefIl) continue;
if ($seciliIlce !== '' && tr_up($ilceAdi) !== $seciliIlceBuyuk) continue;
if ($aranan !== '' && strpos(tr_up($okulAdi), $arananBuyuk) === false) continue;
$tumSonuclar[] = [
'il' => $ilAdi, 'ilce' => $ilceAdi, 'ad' => $okulAdi,
'url' => trim($p[3] ?? '#')
];
}
sort($ilceListesi);
$toplam = count($tumSonuclar);
$toplamSayfa = ceil($toplam / $limit);
$gosterilecekler = array_slice($tumSonuclar, ($sayfa - 1) * $limit, $limit);
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Okul Web Rehberi</title>
<style>
body { font-family: sans-serif; background: #eee; padding: 20px; margin:0; }
.box { max-width: 900px; margin: 20px auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.nav { margin-bottom: 20px; display: grid; grid-template-columns: 1fr 1fr 1fr 80px; gap: 10px; }
.row { padding: 2px; border-bottom: 1px solid #eee; display: block; text-decoration: none; color: #333; }
.row:hover { background: #f1f8ff; }
.row b { color: #2980b9; font-size: 16px; }
input, select, button { padding: 12px; border: 1px solid #ccc; border-radius: 4px; width: 100%; box-sizing: border-box; font-size: 14px; }
button { background: #2c3e50; color: #fff; border: none; cursor: pointer; font-weight: bold; transition: background 0.3s; }
button:hover { background: #34495e; }
.pagination { margin-top: 20px; text-align: center; padding: 10px; }
.page-link { padding: 8px 12px; background: #ddd; margin: 2px; text-decoration: none; color: #000; border-radius: 4px; font-size: 13px; display: inline-block; }
.active { background: #2c3e50; color: #fff; }
.info { font-size: 18px; margin-bottom: 15px; color: #444; border-left: 5px solid #2c3e50; padding-left: 10px; }
@media (max-width: 600px) { .nav { grid-template-columns: 1fr; } }
</style>
</head>
<body>
<div class="box">
<h2 style="margin-top:0; color: #2c3e50;">Okul Web Rehberi</h2>
<div class="info">Bulunan Kayıt: <b><?= number_format($toplam, 0, ',', '.') ?></b></div>
<form method="GET" class="nav">
<select name="il" onchange="window.location.href='?il='+this.value">
<option value="0">--- TÜM İLLER ---</option>
<?php foreach($iller as $id => $ad): ?>
<option value="<?= $id ?>" <?= $seciliIlId == $id ? 'selected' : '' ?>><?= $ad ?></option>
<?php endforeach; ?>
</select>
<select name="ilce" <?= empty($ilceListesi) ? 'disabled' : '' ?> onchange="this.form.submit()">
<option value="">--- İLÇE SEÇİN ---</option>
<?php foreach($ilceListesi as $ilce): ?>
<option value="<?= htmlspecialchars($ilce) ?>" <?= $seciliIlce == $ilce ? 'selected' : '' ?>><?= $ilce ?></option>
<?php endforeach; ?>
</select>
<input type="text" name="q" placeholder="Okul adı yazın..." value="<?= htmlspecialchars($aranan) ?>">
<button type="submit">ARA</button>
</form>
<div style="border-top: 3px solid #2c3e50; padding-top: 10px;">
<?php if($toplam > 0): ?>
<?php foreach($gosterilecekler as $o): ?>
<a href="<?= $o['url'] ?>" target="_blank" class="row">
<b><?= htmlspecialchars($o['ad']) ?></b><br>
<small style="color:#777;"><?= $o['il'] ?> / <?= $o['ilce'] ?> — <span style="color:#2ecc71;"><?= $o['url'] ?></span></small>
</a>
<?php endforeach; ?>
<?php else: ?>
<p style="text-align:center; color:#999; padding:20px;">Kayıt bulunamadı.</p>
<?php endif; ?>
</div>
<?php if ($toplamSayfa > 1): ?>
<div class="pagination">
<?php
$url_param = "?il=$seciliIlId&ilce=".urlencode($seciliIlce)."&q=".urlencode($aranan);
$gorunur = 5;
$bas = max(1, $sayfa - 2);
$son = min($toplamSayfa, $bas + $gorunur - 1);
if($bas > 1) echo '<a href="'.$url_param.'&s=1" class="page-link">1</a> <span class="page-link">...</span> ';
for($i=$bas; $i<=$son; $i++): ?>
<a href="<?= $url_param ?>&s=<?= $i ?>" class="page-link <?= $i==$sayfa?'active':'' ?>"><?= $i ?></a>
<?php endfor; ?>
<?php if($son < $toplamSayfa) echo ' <span class="page-link">...</span> <a href="'.$url_param.'&s='.$toplamSayfa.'" class="page-link">'.$toplamSayfa.'</a>'; ?>
</div>
<?php endif; ?>
</div>
</body>
</html>
Son düzenleme:

