$odenentutar = $_POST["odenentutar"];
$musteriID = $_POST["musteriID"];
$kalan = $odenentutar;
$borclar = $db->query(SELECT ID,borc,odenen FROM borclar WHERE musteriID='{$musteriID}' ORDER BY ID ASC)->fetchAll();
foreach($borclar as $item){
if($kalan>0){
$borcid = $item->ID
$borc = $item->borc;
if($borc<=$kalan){
$odenen = $borc;
$kalan = $kalan - $odenen;
else{
$odenen = $kalan;
$kalan = 0;
}
$update = $db->query("UPDATE borclar SET odenen='{$odenen}' WHERE ID='{$borcid}');
}else{
break;
}
}
görünmesini engelleyemezsin, ancak başka sitelerde kullanılmasını engellersin. sonuçta html içinde var olan css, js, img, video vs. herşey görünürdür. Yazacağın .htaccess ise siteadi.com/css denildiğinde o klasördeki dosyaları göstermez. Ama dosya adını zaten biliyorsa her şekilde görür içeriği.
sen sayfanın üzerinde DB bağlantısı yapıp da ardından hemen null kullanırsan sayfanın aşağılarında sorgu çalıştırmaya çalışırsan çalışmaz hata alırsın tabiki. null mutlaka kullan sonuçta kullandığın sistemin mysql ayarlarında bağlantı sayısı ve zaman aşımı süresi var. bunlar ne işe yarar dersen;
1) bağlantı sınırı (max_connection) : senin sisteminde her $db->connect olduğunda bir bağlantı açılır ve bu sınır diyelim ki sende 1000. aynı anda 1001 kişi girerse sistemin bağlantı hatası verir.
2) bağlantı zaman aşımı (connect timeout) : bu da sen eğer bağlantıyı kapatmazsan (null yapmazsan) ne kadar süre sonra aktif bağlantının kapanacağını belirler. bu süreyi azaltırsan uzun sorgularda timeout olursun, uzatırsan da kısa sorgularda boşuna bir bağlantı açık kalmış olur. sisteminde en iyiyi deneyerek bulursun.
yani bu durumda yapman gereken şey sayfanın üstünde db bağlantısı yapıp, sayfadaki tüm işler bitince yani sayfanın en altında $db = null yapman yeterli.
tablodan sadece okuma yapıyorsan MYISAM olsun, ama hem okuma hem yazma işleri aynı anda yapılıyor diyorsan INNODB olacak. Ayrıca arattığın alan mutlaka INDEX olacak. Tek sorgu ile 20 değil 100M kayıt arasında bile dediğin şey 1-2 sn de olur. 8M kayıt ve 27 sütünlu bir verideki (INNODB) sorgu sonucu 0.0298sn. Belirtmemişsin ancak, umarım döngü içinde sorgu kullanmıyorsundur.
GET ile veri gönderme, JQUERY kullanıyorsan sayfa yenilemeden istediğin veriyi POST ile sunucuya gönder, oradan gelen sonuca görede bilgi mesajı verebilirsin, bunlarla uğraşmana gerek yok.
for (instance in CKEDITOR.instances) {
CKEDITOR.instances[instance].updateElement();
}
CK4 için böyle bir şey kullanıyorum, büyük ihtimal yine aynıdır.
bu tür alanlar için (adet, sayı belli olmayan girişler) kullanabileceğin şey text alanı seçmek ve her girilenn kaydı özel bir karekter ile (;/-.) ile ayırmak ve bir bütün olarak kaydetmek. çekerkende veriyi o karaktere göre explode edersin ve elinde bir array oluşur.
Eğer amacın bir liste yüklemek ve listeyi yüklemeden önce ekranda basıp, daha sonra onaylayınca yüklemek ise tek başına php ile olmaz. Önce jquery ile verileri ekrana bastır, daha sonra onay butonuna bassılırsa formu submit edersin.
seourl ile yazdıklarını o şekile çevirirsin ama, daha sonra mysql arama yapacağın zaman o gelen seourl yapıyı nasıl gerçek aranan cümleye çevireceksin. Asıl soru bu
adam "ekşi" diye aratmak isteyecek sen arka tarafa "eksi" diye gönderceksin, veritabanında like ile aratsan çıkmaz, ki zaten çok büyük kaynak israfı
aratacağın veriyi de seourl yapısına çevirip içinde bu ifadeyi aratsan o da işlemci israfı, test amaçlı kullanacaksan kullanabilirsin bu yöntemleri ama
sana tavsiyem şu şekilde bir yöntem kullan
aranan kelime "türkiye'den geldim"
seoaranan = "turkiye-den-geldim"
bir tablo oluştur 3 alanlı (ID,aranan,seoaranan) bu iki halinide kaydet tabloya sonra arama sayfasına gittiğinde seoaranan kısmını tablodan çeker karşılığı olan
aranan alanındaki değeri aratırsın.
yanlış başlamışsın bu işi php ile değil jquery ile yapacaksın. en son veritabanı işlemlerini ajax ile post edip kaydedeceksin. öyle bir araştır.