Kaydet varsa Güncelle.

Lasera Lasera

Merhabalar. Sizin için Basit de olsa benim için zor bir tahakkuk işlemleri yaptırmaya çalışıyorum. Yapmak istediğim şu.

 

Tek butonla insert ve update işlemi yaptırmak.

Mesela personel tablomda 

id--------ad----------soyad--------tc

1--------Ahmet-------Olmaz--------12345678900

olsun. TC yanlış yazılsın ve kullanıcı değiştirmek istiyor.21345678900 yaptığında o kayıt varsa nasıl güncelleme yaptırabiliriz.

 

Teşekkürler.

28-01-2013 11:52

    Php

    tek butonla ayni islemi hem update e edip hem insert edemezsin 

    update yapabilmen icin oncelikle insert etmis olman gerekir  

    28-01-2013 13:23

      Php

      Lasera Lasera

      Peki Yanlışlıkla tekrar kaydete basarsa diye bir önlem alabilir miyiz?

      aklımda uniqlerin hepsini array e atıp array de var ise butonu disabled yapmak var ama daha mantıklı bir şey varsa çok makbule geçer...

      28-01-2013 13:50

        Yazan:Lasera

         

        Peki Yanlışlıkla tekrar kaydete basarsa diye bir önlem alabilir miyiz?

        aklımda uniqlerin hepsini array e atıp array de var ise butonu disabled yapmak var ama daha mantıklı bir şey varsa çok makbule geçer...

         

        tabi bunu yapmak mumkun  

        kaydet meden once veri tabanından kontrol gerceklestirirsen    hicbir problem kalmaz 

        veritabanından   formdan gelen  tc kimlik nosu ile  veri tabanındaki kimlik nosunu karsılastır 

        eger veri tabanında kayıt bulunursa    insert islemini yaptırmaz  hata    yazısı yazdırırsın eger bulunmaz ise  kayıt islemini gerceklestirir  onay yazısı yazdırırsın olur biter

        28-01-2013 13:58

          Php

          TeaMTurkeR Şenol TÜRKER

          dediğinizi yapabilmeniz için sanırım bu fonksiyon işinizi görcektir.

           

          <?php

          function TcKontrol($kullanici,$tc){

          global $sql_baglantisi;

          $kullanici = mysql_real_escape_string(htmlspecialchars(trim($kullanici)));

              $tc = mysql_real_escape_string(htmlspecialchars(trim($tc)));

           

              $query = mysql_query('SELECT * FROM tablo_adi WHERE tc=\''.$tc.'\''); // tc numarasina sahip kullanici varmi diye bak.

              if (mysql_affected_rows()){ // eğer varsa güncelle

                  echo 'bu tc no mevcut';

              }else{ // yoksa ekle

                  $guncelle = mysql_query('INSERT INTO wts_oda_uye (kullanici,tc) VALUES (\''.$kullanici.'\',\''.$tc.'\')';

              }

          }

          ?>

           

           

          kullanımı;

           

          <?php 

           

          TcKontrol($kullanici,$tc);

           

          ?>

          28-01-2013 22:07

            php

            cgtydvc Çağatay Deveci
            Yazan:Lasera

             

            Merhabalar. Sizin için Basit de olsa benim için zor bir tahakkuk işlemleri yaptırmaya çalışıyorum. Yapmak istediğim şu.

             

            Tek butonla insert ve update işlemi yaptırmak.

            Mesela personel tablomda 

            id--------ad----------soyad--------tc

            1--------Ahmet-------Olmaz--------12345678900

            olsun. TC yanlış yazılsın ve kullanıcı değiştirmek istiyor.21345678900 yaptığında o kayıt varsa nasıl güncelleme yaptırabiliriz.

             

            Teşekkürler.

             

            Merhaba;

             

            İlk öncelikle kayıt yaptırdın ve üye olan kişi TC sini yanlış kaydetti ve sonradan farkına vardı ki ben bu TC Numaramı nasıl düzeltirim.

            Yapacağın adımlar hayal gücüne bağlı ama genel anlamda en basit olarak sırayla gitmen gereken adımlar olmalı.

            1. adım eğer düzenleme yapacaksan düzenleme yapacağın kişinin ID'si

            2. adım düzenletmek istediğin alanlar İsim - soyisim -tc gibi

            3. adım düzenlemek istenen yeni değerler.

            Evet biraz biraz ısındıysak bu tarz işi nasıl ve ne gibi kod kullanacağız ona bakalım.

            İlk öncelikle sessionla giriş yaptır ve  kullanıcının bilgilerini bir değişkene at bizim için önemli olan ID'si Eğer kullanıcı giriş yaptıysa karşına bilgilerini güncelle diye bir buton koyabilirsin. Bu butonun uzantısı güncelleme yapacağın sayfaya gitsin Örn: "guncelle.php"

            guncelle.php içerisinde

            <?php

             

            session_start();

            ob_start();

            include'DATABASE_YOLU';

            $kullanici_id=$_SESSION["id"];

             

            $goruntule =  mysql_query("Select * From tablo_adi WHERE id='$kullanici_id' ");

             

            if(!empty($_POST['gizli']))

            {
            $tc=$_POST['tc'];
            $ad=$_POST['ad'];
            $soad=$_POST['soyad'];
            $id=$_POST['gizli'];
            $guncelle mysql_query("UPDATE tablo SET TC = '$tc', AD = '$ad',SOYAD = '$soyad'
              WHERE ID = '$id'");
            if($guncelle)
            {
            echo "Kayit Basarili";
            }else { echo="Kayit Basarisiz";}
            }

            ?>

            <htlm>

            <head>

            <title>Guncelle </title>

            </head>

            <body>

             

            <?php while ($getir = mysql_fetch_array($goruntule)) {

                                        ?>

            <form action="" method="post">
            <input type="text" name="tc" value="<?php echo $getir['TC'] ?>" />

            <input type="text" name="ad" value="<?php echo $getir['AD'] ?>" />

            <input type="text" name="soyad" value="<?php echo $getir['SOYAD'] ?>" />

            <input type="hidden"  name="gizli" value="<?php echo $kullanici_id; ?>";

            <input type="sumbit" value="Güncelle" />

            </form> 

            <?php } ?>

            </body>

            </html>

             

            Bu şekilde daha basit yaparsın  kodları direk yazdım deneme fırsatım olmadı...

            29-01-2013 10:24 Edit:29-01-2013 10:35

              Php

              alicilin Ali Fırat Güler

              Bunu nası kullanacağınızı öğrenebilirmiyim ?

              yani eğer bir üye giriş paneli varsa ve üye giriş yaptıktan sonra kendisi düzelticekse. kendinizi kasmaya gerek yok. kullanıcıya veri tabanındaki id numarası ile session açtırırsınız ve profilini günceellerkende bütün "UPDATE" sorgularının hepsinin şartını WHERE uyeid="$_SESSION['uyeid']"

               gibisinden kullanırsınız sıkıntı kalmaz.

               

              Fakat siz kendiniz değiştiricekseniz ozamanda her kullanıcı için session açamıcağınıza göre unique değere sahip id numarasını link olarak güncelleme sayfasına verirsiniz ve bu değeri  "GET"  olarak alır bilgilerini öyle güncellersiniz.

               

              Yok ama eğer dersenizki ben bir kayıt girdiğim zaman varsa veritabanında güncellesin ama yok ise sıfırdan kaydetsin diyorsanız

               

              Ozaman size bir sorum olucak. ve ona göre cevap verceğim. Daha önce oracle kullandığınızı söylemiştiniz. "procedure" kullandınızmı hiç ?

              29-01-2013 15:29

                Lasera Lasera

                APEX ile istenmediği için zate php öğreniyorum ben de. Zaten procedure,trigger package kullanabilsem burada çok şey basit olacak da olduramıyorum işte :)

                 

                Benim yaptığım şey üye vb. değil aslında. tahakkuk işlemleri sırasında yapılcak işlemler var. Personel kartı var. Banka Hesap numaraları değişebilir. Telefon değişebilir vs vs. Onun için sormuştum. Fakat ya guncelle.php yapacağım ya da kayıtlı idleri arraye atıp varsa kaydet butonu disabled yapacağım İlginiz için çok teşekkürler.

                30-01-2013 10:58

                  Php

                  benim anladıgım kadarı ile  siz web tabanlı bir    muhasebe programı  gibi birsey mi hazırlamaya calısıyorsunuz ???

                  burada tek tek kod yazmayacagım sadece size mantıgını anlatayım diyelim ki    yeni bir personel kartı acacaksınız ilk once bir kayıt acmalısınız yani mysqlde   kayıt olusturuyorsunuz bunun icin 

                  insert into kullandınız 

                  bunun icinde personelin tüm bilgileri var  ad soyad dogum tarihi  tc kimlik  yaş vb 

                   bu komuttan sonra  artık bir   kullanıcı mevcut simdi ise     fark ettinizki  girilen verilerde hata var  iste burada baslıyor  update  komutu  bu 

                  update yapmak icin bir verinin veri tabanında olması gerekir  en azından  ad  soyad olarak  geri kalan kısmını artık    degistirme yapabilirsiniz 

                  o nedenle  once insert daha sonra update  

                  yinede beceremezseniz  html olarak paylasın kodlamasını yapalım  yoksa gormeden  su sekilde bu sekilde demek cok dogru degil 

                  30-01-2013 12:19

                    Php

                    alicilin Ali Fırat Güler

                    şimdi bu dediginizi yapabimek icin. birseyleri esas almak lazim. yani neye göre bu kullanicilar ayni diyerekten varsa guncelleyip yoksa kayddiceksiniz. eşsiz ve degismeyen bisey lazim. bu deger de yanlis yazilmicak bisey olmali.

                    30-01-2013 14:26

                      www.Phpkodlari.com © 2009 Herkes Php öğrenecek
                      Web tasarım ve eğitim kaynağınız.