MetroBilisim adlı üyeden alıntı: mesajı görüntüle
Merhaba. Ben kendimce bir script geliştiriyorum. Fakat bi yerde sorun yaşıyorum. Kişilerin hesabını tutmak için hesaplar diye bir tablom var ve içerisinde hesap_id(AUTO_INCREMENT), kisi_id, hesap_gelirmiktar, hesap_gelirtarih, hesap_gidermiktar, hesap_gidertarih olarak 6 sütunum var. Ve gelirekle.php ve giderekle.php sayfalarında formlarım var.
gelirekle.php sayfasında formdan selectten kişiyi seçiyorum value değerinden kisi_id yi atıyor, hesap_id yi zaten otomatik atıyor, giderekle.php de aynı. Buraya kadar bir sorun yok. Fakat ben formda hesapekle sorgusundan hem gelirekle hem giderekle yapmak istiyorum. yani islem.php ye ayrı ayrı sorgu yapmak istemiyorum. Nedeni de bunu ileride daha geliştireceğim ve birçok formda farklı değerler olacak. yani bir hesapekle sorgusundan bütün formlardan veri eklemek istiyorum. Umarımsorunumu anlaşılır anlatabilmişimdir. Yine islem.php sorgu kodlarımı aşağıda paylaşayım. Gelirekle.php giderekle.php form sayfalarını sanırım eklememe gerek yok ikisininde <buton name="hesapekle">

if (isset($_POST['hesapekle'])) {

$hesapekle=$db->prepare("INSERT INTO hesaplar SET
kisi_id=:id,
hesap_gelirmiktar=:gelirmiktar,
hesap_gelirtarih=:gelirtarih,
hesap_gidermiktar=:gidermiktar,
hesap_gidertarih =:gidertarih
");

$ekleme=$hesapekle->execute(array(
'id' => $_POST['kisi_id'],
'gelirmiktar' => $_POST['hesap_gelirmiktar'],
'gelirtarih' => $_POST['hesap_gelirtarih'],
'gidermiktar' => $_POST['hesap_gidermiktar'],
'gidertarih' => $_POST['hesap_gidertarih ']
));

if ($ekleme) {
header("location:../hesaplar?durum=ok");
} else {
header("location:../hesaplar?durum=no");
}
}
gelirekle.php den veri eklemek için islem.php den gidermiktar ve gidertarih bölümlerini silince veya tam tersi giderekle.php den veri eklemek için gelirmiktar ve gelirtarih bölümlerini silince sorunsuz veri ekleniyor fakat gelir ve gider kısımları islem.php de aynı sorguda olduğu zaman hata veriyor. Bende dediğim gibi sorguyu ayırmadan çözmek istiyorum gelecekte birçok hesap ekleme formu düşünüyorum ve genelde ortak alanlar olacak. O yüzden herforma ayrı sorgu yapmak istemiyorum. Kısaca form name den gelmeyen postu yok saysın ve birşey eklemesin istiyorum. input type="hidden" diye gizli veri göndermek de bana çok zahmetli geliyor. isset ile denedim birşeyler ( isset($_POST['hesap_gelirmiktar']), ) olarak o zaman hata vermiyor fakat veri varsa veritabanına 1 yoksa 0 yazıyor borç miktarını yazmıyor. Kolay bir çözüm yolu yok mu? Yani sorguya input nameden $_POST gelmezse yoksayacak ve o sütunu boş bırakacak gelirse değeri yazacak birşey. Şimdiden teşekkür ederim.
Hocam iki ayrı update sorgusu yapın ve formlarada gizli input koyarak 1 ve 0 gibi değer verin. Update yaptığınız yerde basit bir if else sorgusu ile ayrı ayrı veritabanına ekletin sorununu doğru anladıysam bu şekilde çözebilirsiniz.