Merhaba, query string çözümü işinizi görmüyor mu?
Örnek bir callbackUrl şöyle olabilir. www.siteniz.com/paytr-callback?uyeid=159357
Yapıyı tam olarak bilmediğim için sadece fikir olması açısından yazıyorum.
Acaba son_fiyat bilgisini veritabanında tutmak yerine önyüze göndermeden önce merkezi bir fonksiyon ile her defasında hesaplamak daha dinamik bir yapı oluşturmak için daha iyi olabilir mi?
Böylece fiyatı etkileyen ne kadar kriter varsa buna göre her defasında son_fiyat yeniden hesaplanır. Bu sunucu yükünü arttırır ancak dinamik bir son_fiyat verisi elde etmeyi sağlar diye düşünüyorum.
Merhaba zfactor,
Birinci sorgu örneğine baktığım zaman basit SELECT
ifadeleri görüyorum. Doğrusu tablon çok fazla satır içermiyorsa bu sorguların milisaniye mertebesinde tamamlanması gerekir. Sanırım bahsettiğin geçikmenin ana sebebi döngü içinde tekrar tekrar sorgu oluşturup icra etmenden kaynaklanıyor.
Eğer durum böyle ise döngü içindeki sorguyu döngü dışına çıkarmak belki işini hızlandırabilir. Örneğin döngü içindeki sorguyu döngü dışında yapıp değerleri bir diziye aktardıktan sonra döngü içinde dizi üzerinde arama yaparak istenen sonuçlara ulaşılabilir. Denemek gerekir tabi ki.
İkinci sorgu için evet INNER JOIN
kesişim kümesini getireceği için senin aradığın boşlukları kaybedersin ve LEFT JOIN
her halükarda birinci kaydı getireceği için yine boşlukları kaybedersin.
Burada gördüğüm kadarıyla aslında rezervasyon
tablosunu alıp sorguna birde oda_id
eklemek istiyorsun. Bunun için birleştirme JOIN
yerine alt sorgular SUBQUERY
kullanabilirsin. Örnek sorgu şöyle bir şey olmalı;
SELECT r.odaid, r.adsoyad ADOSOYAD, r.giristarihi, r.cikistarihi,
(SELECT id FROM odam WHERE id = r.odaid) AS oda_id
FROM rezervasyon as r
WHERE r.giristarihi <= '01.04.2021' and r.cikistarihi > '03.04.2021"
Tabi bu sana içinde oda_id
bilgiside olan bir rezervasyon listesi verecektir. Sen kendi odanı ve rezervasyon bilgilerin bu liste içinde bulmalısın. Umarım yardımcı olur.
Merhaba rufiqcavadov,
POS sisteminden kastın bir ödeme sayfası oluşturmak ise zaten bir çok ödeme sistemi sana böyle bir sayfayı ve kodlarını veriyor. Sana sadece bu kodları sitene yerleştirmek kalıyor. Temel PHP bilginle bunu yapmak gayet kolay olur. Araştırmanı tavsiye ederim.
Merhaba burak001,
Diğer arkadaşlar gayet güzel anlatmış, bende kısaca çalışma şeklinden bahsedeyim. Web editörler aslında senin girdiğin içeriği html formatında sana verirler. Sende bunu veritabanında saklar ve görüntülemek istediğin yerde yine html olarak sayfaya aktarırsın. Böylece editör üzerindeki tüm düzen bozulmadan sayfaya aktarılmış olur.
Resim, video vs. konusuna gelince genelde resim kendisini değil bulunduğu yolu editörün oluşturduğu html kodu içinde zaten kaydedersin. Yani aslında editör için veritabanın tarafında yapman gereken çok bir durum yok. Tablona bir text alan açıp editördün gelen değeri buraya kaydetmen yeterli.
Umarım yardımı olur, kolay gelsin.
Merhaba kleisberg,
Tam emin olmamakla birlikte sanırım Binance verileri sayfaya getirmek için ajax yöntemleri kullanıyor. Bu yüzden sen sayfayı aldığında sadece html iskeleti görüyorsun.
Benim tavsiyem eğer Binance üzerinden sunulan bir API varsa bunun üzerinden ilerlemen şeklinde olur. İyi çalışmalar.
Merhaba anlaltun,
NodeJS ve angular hakkında çok bilgim yok. Ancak senin hata mesajlarına bakınca bir yetki hatasından kaynaklanan sorunlar olduğunu görüyorum.
Yetkilendirme konusunu biraz daha araştırıp denemeler yapabilirsin.
Merhaba burak001,
Bence küçük bir proje ile bir deneme yap. İşlerin içine girince nasıl yürüdüğünü çok daha net görürsün. Bu süreçte takıldığın bir yer olursa biz zaten buradayız, yardımcı oluruz :)
Merhaba beteralii,
Bir eticaret projesi geliştiren birisi için tablodaki bilgileri çekip bir dönügü ile düzenlemek çok zor olmasa gerek, şaşıtıyorsun beni bazen.
Küçük bir uyarı siparis_detay
tablonu referans üzerinden oluşturmuşsun bu tehlikeli bir yaklaşım olabilir. Örneğin ilgili ürünü urunler
tablosundan silersem senin sipariş detayına ne olur?
Konuya dönersek öncelikle siparis_detay
ve tahminen urunler
isimli tablonu birleştirmelisin (JOIN) bunun için kabaca şöyle bir kod yazmalısın.
SELECT * FROM siparis_detay sd INNER JOIN urunler u ON u.id = sd.urun_id
Yukarıdaki sorgu sana siparis_detay
ve urunler
tablondaki eşleşen tüm kayıtları getirecektir. Sonrasında gelen veri seti içinde bir döngü ile istediğin listeyi oluşturmak oldukça kolay olacaktır. PHP çok bilmiyorum ama şöyle sözde (pseudo) bir kod yazılabilir.
foreach ($detayListe as $detay) {
echo $detay["siparis_id"] . "-" . $detay["urun_adi"] ."<br/>";
}
Detayları çok bilmediğim için kabaca böyle birşeyler yazdım. Umarım işine yarar.
Selamlar beteralii,
Buluruz elbet bir çare :)
Ancak kodlarını okumak gerçekten çok zor, değişken isimlendirme konusuna daha çok dikkat etmelisin.
$siparis_tip = "Banka Havalesi";
$siparis_no = sifreureteci();
Örneğin yukarıdaki kodlari aşağıdaki gibi düzenlersek daha anlamlı ve okuması kolay olurdu.
$odeme_sekli = "Banka Havalesi";
$siparis_no = siparis_numarasi_olustur(); // generate_order_number();
Eposta sorununa gelirsek, senin eposta gönderme sürecindeki eski-yeni olayını pek anlamadım. Ben kısaca olması gerekeni anlatayım takıldığın yer olursa yine sorarsın.
Gördügüm kadarıyla bir sipariş detay tablon var bu tabloda ürün detay bilgilerinde mevcut. Yapacağın şey eposta gönderimi öncesi ürün detay tablondaki bilgileri siparis numarasına göre alıp bir dönüğü ile bir html metni oluşturmak. Eposta gönderimi sırasında bu metni epostanın body bölümüne eklemen yeterli olacaktır.