lostyazilim
tr.link

birden fazla veri güncelleme /ekleme sorunu

10 Mesajlar 1.014 Okunma
lstbozum
tr.link

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
merhaba arkadaşlar ,

aynı id birden fazla veri ekleyebiliyorum.

ama güncelleme aşamasında sıkıntı gördüğüm nokta var.



güncelleme sırasında veri tabanındaki verileri silip tekrar ekliyor.Ben bu olayı şöyle yapabilmem için ne gerekli ,


güncelleme sayfasında , veri varsa güncelle ,yeni veri varsa ekle ?


//formda kaydet butonuna basılıp basılmadığını kontrol ediyoruz.
if (isset($_POST['kaydet'])) {

$id = $_GET["id"];

########################################################################################33


$sil=$db->prepare("DELETE from carimusteri where cariID=:id");
$kontrol=$sil->execute(array(
'id' => $_GET['id']
));


$db->query("DELETE s FROM siparis s WHERE NOT EXISTS (SELECT * FROM carimusteri WHERE siparisID = s.siparis_id)");
########################################################################################33


$musteri_id = guvenlik($_POST['musteri_id']);
$in_out = guvenlik($_POST['in_out']);
$fisno = guvenlik($_POST['fisno']);
$sip_turu = guvenlik($_POST['sip_turu']);
$sip_zaman = guvenlik($_POST['sip_zaman']);
$s_odeme_yontemi = guvenlik($_POST['s_odeme_yontemi']);


$toplamkdv = guvenlik($_POST['kdvtoplam']);
$geneltoplam = guvenlik($_POST['geneltoplam']);
$aratoplam = guvenlik($_POST['aratoplam']);


$siparisgoster = $db->prepare("UPDATE siparisgoster SET

fisno_adi=?,
musteri_id=?,
toplam_kdv=?,
ara_toplam=?,
genel_toplam=?,
siparis_turu=?,
fis_zaman=?,
fis_in_out=?,
s_odeme_yontemi=?
where fisno_id=$id
");


$siparisgoster->execute(array(
$fisno,
$musteri_id,
$toplamkdv,
$aratoplam,
$geneltoplam,
$sip_turu,
$sip_zaman,
$in_out,
$s_odeme_yontemi

));

########################################################################################33





if ($_POST['s_id']) {



foreach ($_POST['s_id'] as $key => $value) {


########################################################################################33


$musteri_id = guvenlik($_POST['musteri_id']);
$stok_adi = guvenlik($_POST['stok_adi'][$key]);
$sip_birim_fiyati = guvenlik($_POST['sip_birim_fiyati'][$key]);
$sip_urun_adedi = guvenlik($_POST['sip_urun_adedi'][$key]);
$sip_kdvsiz_fiyat = guvenlik($_POST['sip_kdvsiz_fiyat'][$key]);
$sip_kdv_orani = guvenlik($_POST['sip_kdv_orani'][$key]);
$sip_kdv_tutari = guvenlik($_POST['sip_kdv_tutari'][$key]);
$sip_genel_toplam = guvenlik($_POST['sip_genel_toplam'][$key]);
$s_id = guvenlik($_POST['s_id'][$key]);
$in_out = guvenlik($_POST['in_out']);
$fisno = guvenlik($_POST['fisno']);
$sip_turu = guvenlik($_POST['sip_turu']);
$sip_zaman = guvenlik($_POST['sip_zaman']);






$urunekle = $db->prepare("INSERT INTO siparis SET
musteri_id=?,
stokID=?,
stok_adi=?,
sip_birim_fiyati=?,
sip_urun_adedi=?,
sip_kdvsiz_fiyat=?,
sip_kdv_orani=?,
sip_kdv_tutari=?,
sip_genel_toplam=?,
in_out=?,
fisno=?,
sip_turu=?,
sip_zaman=?
");

$urunekle->execute(array(
$musteri_id,
$value,
$stok_adi,
$sip_birim_fiyati,
$sip_urun_adedi,
$sip_kdvsiz_fiyat,
$sip_kdv_orani,
$sip_kdv_tutari,
$sip_genel_toplam,
$in_out,
$fisno,
$sip_turu,
$sip_zaman
));





$eklenen_siparis_id = $db->lastInsertId();





########################################################################################33
$ogreekle=$db->prepare("INSERT INTO carimusteri SET
cariID=:cariID,
siparisID=:siparisID,
cari_fisno=:cari_fisno
");

$eklemeci=$ogreekle->execute(array(
'cariID' => $id,
'siparisID' => $eklenen_siparis_id,
'cari_fisno' => $fisno

));


###############################################################
###############################################################
### STOK GÜNCELLE / GİRİŞ / ÇIKIŞ




} }

$db = null; //bağlantımızı sonlandırıyoruz
if ($eklemeci) {
header("location:siparis-listele?durum=ok");
exit;
} else {
header("location:siparis-listele?durum=no");
exit;
}
exit;
}



?>


iyi çalışmalar
 

 

:)
wmaraci
reklam

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
yardımcı olan arkadaşlar var mı ?
 

 

:)

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
bak şimdi aynı tablodaki aynı id ye sahip veriye insert edemezsin update edebilirsin. Update edince veri silinmez senin kodlarında bir sıkıntı vardır. Yada mantığındaki yanlıştır.

neden mi ?

Önceki veriler silinmesin istiyorsan önceki verileri çek onlara ekleme yap gönder update ile.

Yani mesela sen id si 1 ola bir veriyi cektin ve bunun ilgili üstündeki değer 50 olsun sen buan ekleme yapacaksan önce 50 yi cek bir eğişkene ata sonra + eklecegin degeri belirt ekle yani sonrada sonuc u update ile gönder.

bu stringte de aynı onda da virgül ile ayırırsın eklemeleri eğer mevcut silinmesin istiyorsdan

iyi forumlar
 

 

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
ozmencelik merhaba hocam. mantık yanlış olabilir. katılırım size .

veri tabanı :
siparisgöster
siparis


örnek id:1 bağlı siparis tablosundan 5 tane eleman var. güncelleme sayfasına 1 eleman daha ekleyince veri tabanına 6 tane elemanı üzerine ekliyor .
 

 

:)
wmaraci
wmaraci

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
yani diyorsunki 1,2,3,4,5 var 6 ekliyorum buseler 1,2,3,4,5,6 olmak yerine 1,2,3,4,5,1,2,3,4,5,6 mı oluyor ?
 

 

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
ozmencelik aynen hocam. bu durumu nasıl düzelticem?
 

 

:)

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
Ben .Net developerim php den pek anlamam ama şöyle bir mantıkla deneyebilirsin deneyip sonucu bana bildirirsin.

atıyorum önce select ile ilgili diye ait satırı cektin ya onları bir db ye attın değilim

1. yol ( fikir )
---------------
ne oldu ?
string a = "1,2,3,4,5"; çektin ya

string b = "6"; buda göndermek istediğin değer

string sonuc = "buraya a ve b yi ekledin virgül olarak ve sana oldu 1,2,3,4,5,6"

işte şimdi bunu update edersin. bu yöntemde append vs kullanmamalısın eger yapıyorsun.

2. yol ( fikir )

string a = "1,2,3,4,5"; cektin ya sonra string a ya b yi append yap zaman a otomatik 1,2,3,4,5,6 olacak

bu sefer a yı update eklersin.
--------------------------------------------------
bir update işleminde aksi bir koşul belirtmedikce herzman o üstündeki bütün veriler gider ve yeni değeri alır.
 

 

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
ozmencelik hocam öncelikle yardımınız için teşekkür ederim.
ufak örnekle gösterebilirmisiniz rica etsem. örnekle daha iyi anlıyorumda. değerli vaktinizi alıyorum ama .
 

 

:)

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
Php den pek anlamam dediğim gibi .net developerim ben ama mantık o anlattığım gibi.
 

 

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
ozmencelik teşekkür ederim yinede hocam. o kadar dil döktünüz :)
 

 

:)
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al