bende son zamanlarda yazdığım kodları revize ediyorum. daha kısa, daha performanslı ve güvenli olacak şekilde tekrar yazıyorum. bazen 1-2 saatte yazdığım bir sınıf için, birkaç gün uğraştığım oluyor. ama sonuç olarak 2 saatte yazdığımda, 2 günde yazdığımda aynı işi yapıyor. senin soruna gelicek olursak eğer, sende daha iyisini yapmak istiyorsun ve bu güzel bir şey. önce biraz temele inmemiz gerekir daha iyisini yapmadan önce, temelde neredeyse eksiksiz olmalıyız. bu gözünü korkutmasın, kimse eksiksiz değil. npm nedir buna bakmalısın örneğin önce, daha sonrasında aldığın bilgiler seni nodejs'e yönletecek, ardından javascript'e. javascripte geldiğin zaman ise, yıllar içinde yapılan güncellemeler sonucunda çok farklı kod yazma standartlarının olduğunu göreceksin. bunun en belirgin örneklerinden biri ise modül sistemi olabilir, normal bir javascript dosyası olarak çağrıldığında çalışmaz örneğin. modül olduğu belirtilmeli. bu standart ES ile birlikte ortaya çıkmıştır. temel amacı çok sayıda scripti çalışmaya dahil etmeyi amaçlamaktır. syntax'ın aynı kalmasına rağmen, aynı söz dizimi bu durumda çalışmayabilir. bunun en temel sebeplerinden biri ise es standartlarında global ölçekte tanımlama yapılamamasıdır. nedir global ölcek, bir dosyada tanımladığın herhangi bir şeye farklı bir dosyada erişmen olası değildir. tekrar tanımlanması gerekir. bunları az çok anladıktan sonra, çalışma alanına göre paket yöneticileri ile çalışabilirsin. ancak basit ölçekte bir iş yapıyorsan buna gerek yok. peki basitliğin dışına nasıl çıkabilirsin? kendi projelerini ve araçlarını geliştir. standartlara uy. örneğin oop standartlarını bilmiyorsan, gelişmiş bir proje oluşturamazsın. az çok anladığım kadarıyla cevap vermeye çalıştım, yanlış olduğumu düşünen varsa belirtmesinden memnun olurum. ancak sorunun cevabı bana göre, temele inmen gerektiği. fonskiyon oluşturmayı biliyorsan eğer, sınıf oluşturmaya başla, sınıf oluşturmayı ve kullanmayı biliyorsan mimari oluşturmaya çalış, mimari oluşturabiliyorsan artık paket yöneticilerine geç ve çalışmalarına neyi dahil edip etmeyeceğini, neyi çalıştırıp çalışmayacağını seçerek yola devam et. ancak bu sırada bir eksiklik olursa, install'dan öteye geçemezsin. çünkü neyin nasıl çalıştığını öğrenmeden işe giriştin.
veriyi kaydetmeden once ayni icerik varsa hata mesaji ver ve kaydetme
<input name="kartbilgileri" type="text">
$('[name="kartbilgileri"]').keyup(function(){
if(this.value != "doğru bilgi"){
$('.hata-mesaji').text('hatalı bilgi');
}else{
//normal kodlar
}
});
kart bilgileri sayısal olduğu için, kontrol koşulunu artık ona göre ayarlarsın. mantık bu. keyup sayesinde daha form gönderilmeden kontrol ediliyor ayrıca.
basicDropdownClickInvoker bu id bir toggle görevi görüyor, html kodlarınıdan toggle değerlerini kaldır, jquery ile tıklamaya dayalı yeniden etkinlik oluştur.
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -263 |0 |263-1 | 2*64-1 |
en fazla int(10) yapabilirsin. oda int <= 2147483647
değer almanın çok sayıda yolu var. bu şekilde çok sayıda değer gönderecek isen, yanlış bir yaklaşım.
$('div').serialize();
bu seçili alan içerisinde yer alan tüm form elemanları seçerek tek bir veri haline getirir. php tarafından $_POST["name"] şeklinde iletilenlere teker teker ulaşabilirsin.
kısaca, divine bir id veya clas ver ve serialize ederek ajaxa bildir.
örnek
var data = $('div').serialize();
$.ajax({
type: "POST",
url: "/uponequantity/",
headers: { "X-CSRFToken": '{{csrf_token}}' },
data: data
});
edit: aynı mesajı iki kez gönderdiğim için, bu alanı sildim.
verdiğin açıyla birlikte divin yönüde değişiyor, bu yüzden genişlik artıyor ve sende genişliğe göre ortalığın için en fazla o kadar sağ gidiyor.
<style>
* {
margin: 0;
padding: 0;
}
html,body {
height: 100%;
}
.side-menu {
height: 100%;
display: flex;
position: relative;
align-items: center;
}
.side-menu ul {
right: 0;
position: absolute;
display: flex;
transform: rotate(-90deg);
}
.side-menu ul li {
font-size: 24px;
padding: 0 15px;
}
</style>
<div class="side-menu">
<ul>
<li>
<a href="#">
Home
</a>
</li>
<li>
<a href="#">
About us
</a>
</li>
<li>
<a href="#">
Contact us
</a>
</li>
</ul>
</div>
bir miktar uğraştım, yukarıdaki sonuç doğru yaklaşıma daha yakın bir sonuç veriyor. en azından divin yönü döndüğünde derinlik döndürmüyor. right için negatif değer verebilirsin ama, bu da doğru kullanım değil gibi geliyor. oldum olası sevemedim şu css işlerini, yinede bakmak istedim.
kısa kullanımdan kaynaklanmış olabili
$list2 = $db->query("SELECT * FROM oturum AS qa INNER JOIN ziyaretciler AS qo ON (qa.id = qo.id)");
$liste2 = $list2->fetchAll(PDO::FETCH_ASSOC);
echo "<pre>Sonuç \n";
print_r($liste2);
echo "</pre>";
bu veritabanı sonucu:
https://prnt.sc/AS6Rqt8WBiuH
bu da php:
https://prnt.sc/9p28FvoUFlje
not: yapıştırırken tablo adlarını değiştirmeyi unutma
var dizi = [{baslik:'', icerik:''}]
[] array olarak görülür, anahtar değeri yoksa sıfırdan ardışık sıra ile devam eder. bu durumda değişkene bunu bildirmeliyiz, dizi[] şeklinde, eğer devamındaki dizi değil de obje ise, "." nokta kullanarak anahtar belirtmeliyiz.
console.log(
dizi[0].baslik
);