tarihe göre tema yazdırma.
slm arkadaşlar okulum için yapmış olduğum siteme günün anlam önemine göre önceden oluşturmuş olduğum temayı veritabanından ismi hangisi ise ona göre temanın şekli değiştirebiliyorum ama bunun admin panelinden giripte yapmak istemiyorum ben bir şeyler yaptım tarihe göre istediğim temanın ismini UPDATE otomatikmen ediyor ve site sorunsuzca çalışıyor bir sorunum var mesela 23 nisan günü php ile oluşturmuş olduğum siteyi girildiğinde her yılın 23-04 if deyimini ayarlamışım site 23nisan teması hemen oluyor buraya kadar sorun yok, sorun ise bu veritabanında 3-4 kalacak sonraki günlerde sitenin gerçek temasını egitim yazdıracak ben bir şey yaptım daha kolay daha mantıklı görüşlerinizi bekliyorum.
<?php
$tarih = date("d-m");
include("ayar.php");
$baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre) or die("Veritabanına bağlanılamadı.");
$sec = mysql_select_db($db);
/* cumhuriyet bayramı */
if ($tarih =="27-10"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='ask' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
if ($tarih =="31-10"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_Egitim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
/* 23 nisan */
if ($tarih =="21-04"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NC_23Nisan' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
if ($tarih =="27-04"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_Egitim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
/* 10 kasım */
if ($tarih =="09-11"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_10Kasim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
if ($tarih =="16-11"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_Egitim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
/* 19 mayıs */
if ($tarih =="17-05"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_10Kasim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
if ($tarih =="21-05"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_Egitim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
/* 30 agustos zafer bayramı*/
if ($tarih =="29-08"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_10Kasim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
if ($tarih =="31-08"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_Egitim' "); if($guncelle) { echo "Bilgiler güncellendi."; } else{ echo "Hata oluştu"; } mysql_close($baglanti);
}
?>
Php
Arka arkaya if performans açısından iyi olmayabilir. Bunun yerine if (..) else if(..) veya switch..case kullanabilirsin.
$tarih = date("d-m");
if ($tarih == "23-04"){
echo "23 Nisan Ulusal Egemenlik ve Çocuk Bayramı";
}else if($tarih == "19-05"){
echo "19 Mayıs Atatürk'ü Anma ve Gençlik ve Spor Bayramı";
}else if($tarih == "08-30"){
echo "30 Ağustos Zafer Bayramı";
}else{
echo "Sıradan bir gün";
}
?>
Veya
$tarih = date("d-m");
switch($tarih){
case "23-04":
echo "23 Nisan Ulusal Egemenlik ve Çocuk Bayramı";
break;
case "19-05":
echo "19 Mayıs Atatürk'ü Anma ve Gençlik ve Spor Bayramı";
break;
case "08-30":
echo "30 Ağustos Zafer Bayramı";
break;
default:
echo "Sıradan bir gün";
}
?>
Tercih sizin kolay gelsin. :)
Php
cevabın için tşklerr her 2 sinde ve benim yukardaki koddada veritabanına default_thema ya update yapabiliyorum sorun yok yapmak istediğim yukardaki koddada var 23 NİSAN günü veritabanına 23_nisan temamın adını yazdırarak o günden itibaren 23 nisan teması aktif olacak buraya kadar zaten sorun yok bu kalma işlem 4 gün kalacak yoksa 23 nisan günü site 23nisan teması olacak bir gün sonra site eski haline gelmiş olacak. senin yazdığın kodda bir gün sonra site eski teması oluyor aynı yöntemle else if deyimiyle 27-04 diye sitenin kendi temasını yazdırarakta yapılabiliyorum amacım daha pratik ve mantıklı bir yol var mı ?
<?php
$tarih = date("d-m");
include("ayar.php");
$baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre) or die("Veritabanına bağlanılamadı.");
$sec = mysql_select_db($db);
$tarih = date("d-m");
if ($tarih == "23-04"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='23_NISAN' "); mysql_close($baglanti);
}
/*daha pratik çözümü var mı
else if($tarih == "27-04"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
}
*/
else if($tarih == "19-05"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='19_MAYIS' "); mysql_close($baglanti);
}
/*daha pratik çözümü var mı
else if($tarih == "23-05"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
}
*/
else if($tarih == "30-08"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='30_AGUSTOS' "); mysql_close($baglanti);
}
/*daha pratik çözümü var mı
else if($tarih == "03_09"){
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
}
*/
else{
$guncelle = mysql_query("UPDATE tablom_config SET Default_Theme='NT_EGITIM' "); mysql_close($baglanti);
}
?>
Php
3-4 gün kaldıktan sonra eski temayı kullanmayı bu şekilde yapmaya karar verdim.
<?php
$dbhost = "localhost"; // Mysql sunucu adresini yazınız.
$dbkullanici = "root"; // Mysql kullanıcı adını yazınız.
$dbsifre = ""; // Mysql şifrenizi yazınız.
$db = "tema"; // Mysqlda kullandığınız veritabanı adını yazınız.
$baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre) or die("Veritabanına bağlanılamadı.");
$sec = mysql_select_db($db);
$tarih = date("d-m");
switch($tarih){
case "10-11":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='10_KASIM' "); mysql_close($baglanti);
break;
case "15-11":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
break;
case "23-04":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='23_NISAN' "); mysql_close($baglanti);
break;
case "27-04":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
break;
case "19-05":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='19_MAYIS' "); mysql_close($baglanti);
break;
case "23-05":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
break;
case "30-08":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='30_AGUSTOS' "); mysql_close($baglanti);
break;
case "03-09":
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='nt_egitim' "); mysql_close($baglanti);
break;
}
?>
Php
Sanırım şu işini görecektir.
$tarih = date("d-m");
if ($tarih == "23-04" or $tarih == "24-04" or $tarih == "25-04" or $tarih == "26-04"){
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='23_NISAN' ");
mysql_close($baglanti);
}else if($tarih == "19-05" or $tarih == "20-05" or $tarih == "21-05" or $tarih == "22-05"){
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='19_MAYIS' ");
mysql_close($baglanti);
}else if($tarih == "10-11" or $tarih == "10-12" or $tarih == "10-13" or $tarih == "10-14"){
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='10_KASIM' ");
mysql_close($baglanti);
}else{
$guncelle = mysql_query("UPDATE Tablom_config SET Default_Theme='nt_egitim' ");
mysql_close($baglanti);
}
?>