phpmyadminde sütun tipini JSON olarak ayarlayıp, dizini;
$json = json_encode($dizin);
şeklinde insert veya update edebilirsiniz.
veritabanından aynı veriyi tekrar dizin olarak kullanmak isterseniz de;
$array = json_decode($row['jsonVeri']);
print_r($array);
olarak alabilirsiniz.
@h4ckdr0 neden her soruya chatgpt botunu kullanarak cevap veriyorsun kendine ait bir fikrin yoksa yazma, soruyu soran arkadaş o bota da sorabilir.
$aş = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $aş)) {
echo 'Parola geçerli!';
} else {
echo 'Geçersiz parola.';
}
@ibrahimali nasıl bir yol izlediğini anlatırsan kodlayabilirim. Şuan mantık dahi kuramıyorum.
Sorum yanlış anlaşıldı sanırım. Null olan veya olmayan değerleri bularak nasıl yapılabilir anlamadım. Ben boş olan kategorileri göstermek istemiyorum derken değer olarak boş olan kategorilerden bahsetmiyorum. Join ile birlestirme yaptığımda içinde ürün olmayan kategoriler mantık olarak boş kategori oluyor bunlar gelmesin istiyorum, bunu da join ile yapabiliyorum ancak, bazi alt kategorilerin ust kategorileri de ver onlari nasil getirebilirim? Yani alt kategoride ürün mevcut
ise o kategorinin üst kategorisi de listelenmesi gerek.
Benim çözümüm de ilk başta sql ile oldu.
$kategoriler = $db->from('kategoriler')->join('urunler', '%s.kat_id = %s.id')->all();
Ancak bu şekilde yukarıdaki örneğe göre ben sadece, Yemek Masaları kategorisine erişebiliyorum aslında onun da üst kategorileri var yani Yemek Masaları kategorisi çocuk hatta torun kategori:)
Onun atalarını da getirmem lazım. Bu şekilde çözemeyince php tarafında çözüm aramaya başladım.
Düzenleme:
Desenim input içerisinde de çalışıyormuş aslında, desene uymayan veri girdiğimde aldığım uyarıdan dolayı, önceki veri gönderilmiş gibi görünüyor hep.
İnput uyarı verdiğinde formu resetlemem gerekiyor. Uyarıyı yakalayabilirsem çözeceğim ancak input uyarılarını nasıl yakalıyoruz onu çözemedim :) Uyarı çıktıktan 1 saniye sonra resetlersem olacak gibi.
<input type="text" name="ara" id="ara" />
<script>
$("#ara").focus(function(){
$("html, body").animate({
scrollTop:320
},600);
});
</script>
jquery kütüphanesini dahil etmeyi unutmayın.
kısaca focus kullanılarak yapılabiliyor. Ben arama kutusu focus olduğunda animasyonlu bir sekilde yukarıya kaydırıyorum sadece, amacım kutuya yazmaya başlanınca uzayan verinin görülebilir olmasını kılmak.
şuradan test edebilirsin.
https://kitapbu.net
Php ve html ve biraz css bilmeniz yeterli daha profesyonel bir şey yapmak isterseniz javascript de bilmelisiniz.
Bunları telefondan yapman oldukça zor olur imkansız değil ama zor.
Depolama veritabanı kullanılarak oluyor. Genelde mysql veritabanı kullanılır. Senin için de yeterli olur. Veritabanı kullanmayıp, verilerinizi txt formatında, sitenizin dosyalarının barındığı alanda da host edebilirsiniz.
isset'i ters kullanıyorsunuz. İsset degisken tanımlı mı tanımsız mı diye bakar. Yani doğru kullanım ve çıktısı şu sekilde olur.
if (isset($_POST[$nesne_adi])) {
echo 'degisken tanimli dolu';
}else {
echo 'degisken tanımsız boş';
}
bunun tersini yani sizin kullandığınız gibi yapmak isterseniz isset'in başına ünlem (!) koymalısınız.
!isset
empty fonksiyonunda değişken tanımlıdır boş bir değer de değişkeni tanımlı kılar. Değişken tanımlı ancak, boş mu dolu mu anlamak için empty kullanırız.