lostyazilim
tr.link

Basit bir kod yardımı.

11 Mesajlar 1.501 Okunma
acebozum
tr.link

ismailke ismailke WM Aracı Kullanıcı
  • Üyelik 31.05.2013
  • Yaş/Cinsiyet 40 / E
  • Meslek Biyolog
  • Konum Ankara
  • Ad Soyad İ** S**
  • Mesajlar 314
  • Beğeniler 77 / 44
  • Ticaret 10, (%100)
Merhaba arkadaşlar php de bir kod yazmamda yardımızı istiyorum.
Sorum şu
veri tabanında alacaklar diye bir sütun var ve fatura kesildikçe bu sütuna yeni yeni alacak satırı ekleniyor.
Mesela bu ay 500 tl fatura kesilmiş alacak hanesine 500 tl yansıdı
Öbür ayda 550 kesildi yeni satıra 550 daha eklendi.Bu böyle gidecek.
Firma da ancak 750 tl ödeme yaptı.
Bu ödeme girildiğinde 750 nin 500 ünün otomatik olarak ilk faturadan düşük geri kalanınıda ikiniciden düşecek ve ikinici alacak bakiyesindede 300 tl yi yazacak.
Array fonksiyonunu tam anlamıyla çözemedim. Dögüylede yapamadım :D
Yardımlarınızı rica ediyorum.

include("baglanti.php");
?>

$sozlesmeno=$_GET['sozlesmeno'];
$yapilanodemem=$_GET['yapilanodemem'];
$sorgu=mysql_query("select * from islem where sozlesmeno='$sozlesmeno' and tahsildurumu='Tahsil Edilmedi'");
$oku = mysql_fetch_array($sorgu);


$query = mysql_query("SELECT SUM(yapilanodeme) FROM islem where sozlesmeno='$sozlesmeno' and tahsildurumu='Tahsil Edilmedi'");
$row = mysql_fetch_array($query);
echo $row['SUM(yapilanodeme)'];
?>
if ($yapilanodemem>$row['SUM(yapilanodeme)'])
{
echo "Oldumu şimdi melağ büyük, bas geri";
}
else
{
?>
Bu nolu id Borcu:


Yatırılan miktar:


$yapilanodeme=$oku['yapilanodeme'];

if ($yapilanodemem>$yapilanodeme)
{
$buaykalan=$yapilanodemem-$yapilanodeme;
}

if ($yapilanodemem<$yapilanodeme)
{
$buaykalan=0;
}

if ($yapilanodemem==$yapilanodeme)
{
$buaykalan=0;
}
echo "para üstü:$buaykalan";

$butaksitodenen=$yapilanodemem-$buaykalan;

if ($butaksitodenen>$yapilanodeme)
{
$butaksitodenenson=$butaksitodenen-$yapilanodeme;
}
if ($butaksitodenen<$yapilanodeme)
{
$butaksitodenenson=$yapilanodeme-$butaksitodenen;
}
if ($butaksitodenen==$yapilanodeme)
{
$butaksitodenenson=0;
}
echo "
bu aydan alacak=$butaksitodenenson";
?>


if ($buaykalan=="0")
{
echo "Ödeme Tamamlanmıştır";
}
else
{
?>
&yapilanodemem="> Diğer ayın odemesine geç
}
?>

ob_start();
include("baglanti.php");
$id = $oku['id'];

$sozlesmeno = $_GET['sozlesmeno'];
$odemesekli = $_GET['odemesekli'];

if ($buaykalan=="0")
{
$tahsildurumu= 'Tahsil Edilmedi';
}
else
{
$tahsildurumu= 'Tahsil Edildi';
}

$tarih = date("d.m.Y");
$kaydet = mysql_query("UPDATE islem SET yapilanodeme = '$butaksitodenenson' , tahsildurumu = '$tahsildurumu' WHERE id = '$id' LIMIT 1");

if($kaydet){


echo "



Bu Sözleşmeye Ait Kalan Tutar=$kalan TL

Ödeme Başarıyla Yapılmıştır.

Firma Detay sayfasına geri dön

";

}
else{
echo "İşlem başarısız..";
}
ob_end_flush();


?>
}
?>



<script>
function close_this_window()
{
$pageoffset = document.body.scrollTop;
window.opener.location.reload();
window.opener.document.body.scrollTop = $pageoffset;
window.close();
}
</script>
KAPAT

 

 

wmaraci
reklam

kramper kramper <?php echo "hi world!" ?> Kullanıcı
  • Üyelik 29.01.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım &amp; SEO
  • Konum İzmir
  • Ad Soyad M** B**
  • Mesajlar 1196
  • Beğeniler 56 / 168
  • Ticaret 37, (%100)
Anlattığından bir şey anlamadım valla yoksa yazıcam kodu basit bir şey istiyorsunuz.
ismailke

kişi bu mesajı beğendi.

ismailke ismailke WM Aracı Kullanıcı
  • Üyelik 31.05.2013
  • Yaş/Cinsiyet 40 / E
  • Meslek Biyolog
  • Konum Ankara
  • Ad Soyad İ** S**
  • Mesajlar 314
  • Beğeniler 77 / 44
  • Ticaret 10, (%100)

kramper adlı üyeden alıntı

Anlattığından bir şey anlamadım valla yoksa yazıcam kodu basit bir şey istiyorsunuz.


Detaylı anlatayım o zaman :D
veri tabanında alacak sütunu var, burada örneğin bir firmaya ait her ay için bir alacak var ocak 500 tl şubat 600 tl mart 450 tl.
Firma ödeme yapıyor 1000 tl ve alacaktan sırayla düşmesi gerekiyor.
Ocak kalan 0 tl şubat kalan 100 tl mart kalan 450.

Umarım anlatabilmişimdir :D
 

 

Questom Questom Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.01.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Freelance
  • Konum Bursa
  • Ad Soyad Ü** D**
  • Mesajlar 278
  • Beğeniler 0 / 27
  • Ticaret 2, (%100)
Maalesef ki ben yine anlamadım hocam, her ay 100 tl'mi düşücek artıcak mı ne yapıcak?
ismailke

kişi bu mesajı beğendi.

wmaraci
wmaraci

ismailke ismailke WM Aracı Kullanıcı
  • Üyelik 31.05.2013
  • Yaş/Cinsiyet 40 / E
  • Meslek Biyolog
  • Konum Ankara
  • Ad Soyad İ** S**
  • Mesajlar 314
  • Beğeniler 77 / 44
  • Ticaret 10, (%100)

Questom adlı üyeden alıntı

Maalesef ki ben yine anlamadım hocam, her ay 100 tl'mi düşücek artıcak mı ne yapıcak?


Şu şekilde mesela bir firma var, bu firmaya bir hizmet bedeli giriliyor aylık ama aydan aya değişiyor bu bedel
Örneğin ocak ayı için 500 tl şubat ayı için 650 tl mart içinde 350 tl firmaya alacak diye yazıldı. Firma ödeme yaptı 1200 tl.Yani firma ne kadar öderse o kadar düşecek hesaptan.
Bu ödemeyi ilk aydan başlayarak tek tek düşecek.

yani

aylar kalan
ocak 0 (1200 tl den 500 ödedi kalan 700)( ocak ayı alacağı 500)
şubat 0 (kalan 700 den 650 tl ödedi kalan 50)(şubat ayı alacağı 650)
mart 300 (kalan 50 den ancak 50 ödedi) (mart ayı alacağı 350)

Bu şekilde olacak. Umarım bu seferde derdimi anlatabilmişimdir :D
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Pek öyle basit bir kod değil güzel kardeşim :) Bildiğin mantık var burda..

PHP'yi seçmemenin yada uzak durmamın nedenlerinden biris sanırım spagetti hep yazılması :)


Bence kodları sınıflara ayırmalısın ve sınıfları sayfaya import etmelisin. Yoksa problem böyle html ile iç içe girmiş kodu okumak. Okumayacağımda basit ne yapmak istediğini ve nasıl yapman gerektiğini yazacağım.

Soru :
Veri tabanında alacaklar diye bir sütun var ve fatura kesildikçe bu sütuna yeni yeni alacak satırı ekleniyor.
Mesela bu ay 500 tl fatura kesilmiş alacak hanesine 500 tl yansıdı
Öbür ayda 550 kesildi yeni satıra 550 daha eklendi.Bu böyle gidecek.
Firma da ancak 750 tl ödeme yaptı.
Bu ödeme girildiğinde 750 nin 500 ünün otomatik olarak ilk faturadan düşük geri kalanınıda ikiniciden düşecek ve ikinici alacak bakiyesindede 300 tl yi yazacak.
Array fonksiyonunu tam anlamıyla çözemedim. Dögüylede yapamadım



Benim çözümüm;

tüm işleri class'lara ayırıp öyle yapmaktan yanadır ama gel gelelim php syntax'ını pek bilmediğimden ona girmiyorum.

Anladığım sozlesmeno 'su ile bir sirketin borçlarını ve ödemelerini sorguluyoruz. Altta iki sorgu atmak yerine tek bir sorgu ile bu iş halledilir kanımca ;

Sorgu şunu diyor ;

SELECT i.id,SUM(i.yapilanodeme) as toplam_yapilan_odeme FROM islem i where sozlesmeno='$sozlesmeno' and tahsildurumu='Tahsil Edilmedi' group by i.id,SUM(i.yapilanodeme) order by id desc

sozlesmeno'su "123123" olan şirketin işlemlerini bana toplan yapılan odeme miktarı ile birlikte getir..


$sozlesmeno = $_GET['sozlesmeno'];
$yapilanodemem = $_GET['yapilanodemem'];

$query = mysql_query("SELECT i.id,i.yapilanodeme as odeme, SUM(i.yapilanodeme) as toplam_odenecek FROM islem i where sozlesmeno='$sozlesmeno' and tahsildurumu='Tahsil Edilmedi' group by i.id,i.yapilanodeme,SUM(i.yapilanodeme) order by id desc");
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
$id = $row["id"];
$odeme = $row["odeme"];
$toplamOdeme = $row["toplam_odenecek"];
if($toplamOdeme < $yapilanodemem){
printf ("Odemede sıkıntı plus plus.. Yardım isteyin bi yerden.");
break;
}
if($yapilanodemem == 0) {
printf ("Odemede sıkıntı plus plus.. Para bitti :(");
break;
}
updateIslem($yapilanodemem, $odeme, $tahsildurumu, $id);

}



function odemeManager($yapilanodemem , $odeme, $tahsildurumu, $id){
if($yapilanodemem > $odeme){
odeme($yapilanodemem , $odeme, $tahsildurumu, $id);
}else{
odemeKalan($yapilanodemem , $tahsildurumu, $id);
}
}



function odeme($yapilanodemem , $odeme, $tahsildurumu, $id){
if(mysql_query("UPDATE islem SET yapilanodeme = '$odeme' , tahsildurumu = '$tahsildurumu' WHERE id = '$id'")){
printf ("ID : %s, nolu kayıt güncellendi.. ", $id);
return $yapilanodemem - $odeme;
}else{
printf ("ID : %s, nolu kayıt güncellenmedi.. ", $id);
break;
}
}


function odemeKalan($yapilanodemem , $tahsildurumu, $id){
if(mysql_query("UPDATE islem SET yapilanodeme = '$yapilanodemem' , tahsildurumu = '$tahsildurumu' WHERE id = '$id'")){
printf ("ID : %s, nolu kayıt güncellendi.. ", $id);
return 0;
}else{
printf ("ID : %s, nolu kayıt güncellenmedi.. ", $id);
break;
}
}



Tablodaki sutun adları berbat ötesi.. dostum isimleri aliasları düzgün vermelisin, hiç birşey anlaşılır değil kodu böyle çorba gibi koymuşsun ne nerde, ne yapıyor ne işe yarıyor anlamaya çalışma kodu yazmaktan daha fazla zaman kaybettiriyor.. rica ediyorum bu tür sorular sormadan önce koda bir refactoring yap, kod anlaşılır vaziyette olsun.

Php syntaxında hata olabilir yada logic'te test etme imkanım yok.

Kaynak
3579 ismailke

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

ismailke ismailke WM Aracı Kullanıcı
  • Üyelik 31.05.2013
  • Yaş/Cinsiyet 40 / E
  • Meslek Biyolog
  • Konum Ankara
  • Ad Soyad İ** S**
  • Mesajlar 314
  • Beğeniler 77 / 44
  • Ticaret 10, (%100)

Turgay Can adlı üyeden alıntı

Pek öyle basit bir kod değil güzel kardeşim :) Bildiğin mantık var burda..

PHP'yi seçmemenin yada uzak durmamın nedenlerinden biris sanırım spagetti hep yazılması :)


Bence kodları sınıflara ayırmalısın ve sınıfları sayfaya import etmelisin. Yoksa problem böyle html ile iç içe girmiş kodu okumak. Okumayacağımda basit ne yapmak istediğini ve nasıl yapman gerektiğini yazacağım.

Soru :



Benim çözümüm;

tüm işleri class'lara ayırıp öyle yapmaktan yanadır ama gel gelelim php syntax'ını pek bilmediğimden ona girmiyorum.

Anladığım sozlesmeno 'su ile bir sirketin borçlarını ve ödemelerini sorguluyoruz. Altta iki sorgu atmak yerine tek bir sorgu ile bu iş halledilir kanımca ;

Sorgu şunu diyor ;



sozlesmeno'su "123123" olan şirketin işlemlerini bana toplan yapılan odeme miktarı ile birlikte getir..












Tablodaki sutun adları berbat ötesi.. dostum isimleri aliasları düzgün vermelisin, hiç birşey anlaşılır değil kodu böyle çorba gibi koymuşsun ne nerde, ne yapıyor ne işe yarıyor anlamaya çalışma kodu yazmaktan daha fazla zaman kaybettiriyor.. rica ediyorum bu tür sorular sormadan önce koda bir refactoring yap, kod anlaşılır vaziyette olsun.

Php syntaxında hata olabilir yada logic'te test etme imkanım yok.

Kaynak


Öncelikle ilgi , alaka ve sabır için teşekkürler, kendimce acelece yazılmış bir kod. Bir anda aklıma geldi, o yüzden karışıklık için kusura bakmayın. Kendimce bu şekilde çalıştırabilmiştim sistemi ama farklı bir yolunun olabileceği ve daha profesyonel yazılabileceğini biliyordum.Bu arada armut piş ağzıma düş tarzını sizin sevmediğinizi biliyorum, bu yüzdende kendimce birşeyler yapabildikten sonra ve forumda uzun süredir bazı konulara verdiğiniz cevapladan ötürü direk size sorma gereği duymuştum.
Yazdığınız koda gelince elinize emeğinize sağlık.
Sbah deneme fırsatı buldum ancak sql sorgusu içinde
$query = mysql_query("SELECT i.id,i.yapilanodeme as odeme, SUM(i.yapilanodeme) as toplam_odenecek FROM islem i where sozlesmeno='$sozlesmeno' and tahsildurumu='Tahsil Edilmedi' group by i.id,i.yapilanodeme,SUM(i.yapilanodeme) order by id desc");
while ($row = mysql_fetch_array($query, MYSQL_BOTH))

as odeme diye bir alan var. Benim tablolarımda veya yazdığım diğer kodda odeme diye bir tanımlama yok. Acaba gelen ödemeylemi eşleştirdiniz ?
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
i.yapilanodeme as odeme, dostum bunun anlamı yapilanodeme alanına bir alias tanımlaması yapıyor ve sonrasında bu alias ile çağırıyorum. Alias'lar sql içinde cektiğimiz sutunları daha anlamlı etiketler verebilirsiniz sonrasındada bu aliasları veri çekerken kullanabilirsiniz.

COLUMNNAME AS ALIASNAME gibi kullanılır.

SUM(i.yapilanodeme) as toplam_odenecek tıpkı bunun gibi.
ismailke

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

ismailke ismailke WM Aracı Kullanıcı
  • Üyelik 31.05.2013
  • Yaş/Cinsiyet 40 / E
  • Meslek Biyolog
  • Konum Ankara
  • Ad Soyad İ** S**
  • Mesajlar 314
  • Beğeniler 77 / 44
  • Ticaret 10, (%100)

Turgay Can adlı üyeden alıntı

dostum bunun anlamı yapilanodeme alanına bir alias tanımlaması yapıyor ve sonrasında bu alias ile çağırıyorum. Alias'lar sql içinde cektiğimiz sutunları daha anlamlı etiketler verebilirsiniz sonrasındada bu aliasları veri çekerken kullanabilirsiniz.

gibi kullanılır.

SUM(i.yapilanodeme) as toplam_odenecek tıpkı bunun gibi.


Siz cevap verdikçe iyice küçülüyorum :D

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

Böyle bir uyarı ile karşılaştım, veritabanındaki sonuçları veri çekebilecek şekilde ayarladım ama olmadı maalesef :(

8 nolu satırdaki kod:
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)

ismailke adlı üyeden alıntı

Siz cevap verdikçe iyice küçülüyorum :D

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

Böyle bir uyarı ile karşılaştım, veritabanındaki sonuçları veri çekebilecek şekilde ayarladım ama olmadı maalesef :(

8 nolu satırdaki kod:
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {


o kısım dostum ben referans linki verdim yazdığım yazıda, sebebide php syntax'ını pek bilmemem. Kaynakta o şekilde alınabildiğine dair örnek var. sen o kısmı bildiğin gibi yap yine derim. akşama anca müsait olurum dokumentasyonunu okurum php'nin yazarım.
ismailke

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al