dostum nasıl bir kodun var bilmiyorum ama öncelikle özel tarihlerin listelendiği
bir javascript nesnesi işini görür. Basit bir algoritmayla halldebilirsin, ama ben
burda frontend kısmına giremem.
let specialDates = [
{
// Rastgele bir tarih veriyorum
day: Date.parse("Thu Feb 10 2020"),
price: 279.00
},
{
day: Date.parse("Thu Feb 12 2020"),
price: 299.00
}
]
// sonrasında tarihleri nasıl sunuyorsan araya özel tarihleri sıkıştırırsın
specialDates.forEach(date => {
if(today === date.day) {
today.setPrice(date.price)
}else {
// Özel tarih değilse de normal bir fiyat verirsin.
today.setPrice(289.00)
}
})
Bence yine de konu üzerine biraz daha araştırma yap
https://github.com/cengizhancaliskan/iyelik-eki projenin javascript versiyonu da yapılabilirmiş. Sağol Tayfun hocam aklıma bir fikir geldi...
// Ünlünün hangi tip ünlü olduğunu belirle
$tip = "";
if(in_array($harf, $duz_unluler)) {
$tip = "düz";
}elseif (in_array($harf, $yuvarlak_unluler)) {
$tip = "yuvarlak";
}
// İSMİN BELİRTME HALİNDE;
// Yuvarlak ünlülerde eğer harf arka yuvarlaksa (o, u) kelimeyi u takip eder
// Yuvarlak ünlülerde eğer harf ön yuvarlaksa (ö, ü) kelimeyi ü takip eder
// Düz ünlülerde eğer harf arka düzse (a, ı) kelimeyi ı takip eder
// Düz ünlülerde eğer harf ön düzse (e, i) kelimeyi i takip eder
// Tabi kelimenin sesli harfle bitip bitmediğini de kontrol etmen gerekir
// Eğer ünlü ile bitiyorsa hâl ekinden önce gereken kaynaştırma ünsüzünü (y, ş, s, n) ekleyebilirsin
// Kelimeyi takip edecek hâl ekine kuyruk diyelim
$kuyruk = "";
if($tip == "yuvarlak") {
// Arka yuvarlak mı?
if($harf == "o" || $harf == "u"){
$kuyruk = "u";
// Ön yuvarlak mı?
}elseif ($harf == "ö" || $harf == "ü") {
$kuyruk = "ü";
}
}elseif($tip == "düz") {
// Arka düz mü?
if($harf == "a" || $harf == "ı"){
$kuyruk = "ı";
// Ön düz mü?
}elseif ($harf == "e" || $harf == "i") {
$kuyruk = "i";
}
}
Şöyle bir algoritma işini görür muhtemelen;
/* Kelimenin son ünlüsü düz ünlü mü yoksa yuvarlak ünlü mü kontrol et */
// Tüm ünlüleri tanımla;
$unluler = ["a", "e", "ı", "i", "o", "ö", "u", "ü"];
// Düz ünlüleri tanımla;
$duz_unluler = ["a", "e", "ı", "i"];
// Yuvarlak ünlüleri tanımla;
$yuvarlak_unluler = ["o", "ö", "u", "ü"];
// Girilen metni ters çevir örn: "Tayfun" => "nufyaT"
/* PHP'de strrev( $string ); fonksiyonu işini görür. */
// Herhangi bir ünlü harfe denk gelene kadar bütün harfleri tek tek kontrol et
$input = "Tayfun";
$kelime = strrev($input);
$index = 0;
$harf = $kelime[$index];
while(!in_array($harf, $unluler)) {
$index++;
$harf = $kelime[$index];
}
// Bu şekilde son seslinin "u" olduğunu anlayabilirsin, bu örnekte $harf değişkeni "u" değerini taşıyor.
Türkçedeki küçük ünlü uyumu ile alakalı bir sıkıntı bu, manuel şekilde kodlayabilirsin,
sadece algoritmayı çıkarman gerekiyor.
Dostum öncelikle sen olayı çok yanlış anlamışsın, tarayıcıda çalıştıracağın javascript'in senin yüklediğin herhangi bir dosyanın tam yolunu bilmesi imkansız. Bir kere bu olayın güvenlik açıklarını düşününce bile başıma ağrılar giriyor. Ne yapmak istediğini tam olarak bilmiyorum ama senin muhtemelen dosyayı bir sunucuya yüklemen lazım. Sonrasında zaten sunucudaki yolu kullanacaksın, o yolu da backend kodu sağlayacak.
input.on('keyup', function(e) {})
değil de
input.on('input', function(e) {})
kullanmak daha doğru olur tayfun hocam. keyCode'u da jQuery'de oninput olayıyla alamıyorusun sanırım onu da;
if (e.originalEvent.data === " ") {
// kullanıcı boşluk tuşuna bastı
}
şu şekilde halledebilirsin.
Bunu javascript'le yapmak daha mantıklı olur, PHP'de kayıtları çekip JSON şeklinde döndürecek bir servisin olursa JS ile ajax veya fetch api kullanarak sayfaya istek yapabilirsin. Örneğin select'e yazılan yazıyı alırsın, PHP servisine Get isteği ile parametreyle gönderirsin.
// oninput olay dinleyicisiyle ne zaman bir harf girilse bu fonksiyonu çalıştır
document.querySelector('select').addEventListener('input', () => {
// hangi parametreleri göndermek istiyorsan gönder
fetch(`https://SUNUCUNDAKİ_PHP_SERVİSİ?il=${document.querySelector('select').value}`)
// gelen veriyi json'a dönüştürüyoruz
.then(res => res.json())
.then(data => {
// Burada da select elemanına option'ları ekle
});
})
$il = $_GET['il']
$tablo = get_table("SELECT * FROM " + $il, array())
echo json_encode($tablo)
gibi bir şey olabilr, PHP'de çok iyi değilim kusura bakma ama ekleme kaldırma gibi dinamik kısımlar biraz daha JavaScript'in işi
Golang'de fonksiyonun döndürdüğü değerlerin tipini argüman parantezlerinden sonra koyabilirsin, birden fazla değer döndümek istiyorsan da bütün değerleri başka bir parantez içine alman yeterli.
func add(a, b int) (int error) {
return (a + b), nil
}