Kaydet varsa Güncelle..

LaseraLasera

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.

2013-01-28 11:52:24

Php

tek butonla ayni islemi hem update e edip hem insert edemezsin 

update yapabilmen icin oncelikle insert etmis olman gerekir  

2013-01-28 13:23:29

Php

LaseraLasera

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...

2013-01-28 13:50:53

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

2013-01-28 13:58:19

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);

?>

2013-01-28 22:07:27

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ı...

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

Php

alicilinAli 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ç ?

2013-01-29 15:29:23

LaseraLasera

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.

2013-01-30 10:58:57

Edit:

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 

2013-01-30 12:19:42

Php

alicilinAli 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.

2013-01-30 14:26:23

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro