• 21-10-2015, 11:43:45
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    merhabalar

    bir ürün ekleme sayfam var ve burada giriş yapan kullanıcılar ürün ekliyor yalnız girilen bilgileri iki tabloya böldüm misal.
    tablolarım şu şekilde ;

    rapor = adı, ödeme tipi gibi tablolar bulunuyor
    rapor_urun = ürün adı, birim, tutar gibi bilgiler bulunuyor


    Ben bunları tek bir formdan gönderip rapor_kaydet.php ye gönderdiğimde

    rapor tablosunda ki id'i alıp rapor_urun tablosunda ki urun_id'e yazdırmam gerekiyor. Php'ye yeni başladığım için bana biraz karışık geldi.

    Çözümü :

    mysql_query("INSERT INTO rapor SET f_unvan='$f_unvan', urun_adi='$urun_adi', birim='$birim', urun_tutar='$urun_tutar', odeme_tipi='$odeme_tipi', vade='$vade', odeme_tutar='$odeme_tutar'");

    $giden_id = mysql_insert_id();

    mysql_query("INSERT INTO rapor_urun SET urun_id='$giden_id', birim='$birim', urun_tutar='$urun_tutar'");
  • 21-10-2015, 11:58:05
    #2
    PDO ile yapıyorsan
    $pdo_nesnesi->lastInsertId(); sana rapor tablosundaki raporun id'sini verir. Php den bağımsız olarak ise mysql'de 'SELECT LAST_INSERT_ID()' sorgusu en son girilenin ID'sini sana verir. Zaten ODBC ile çalışıyorsan mysql sorgusu ile almak zorundasın, ODBC lastInsertId()'yi desteklemez.
  • 21-10-2015, 12:13:48
    #3
    samurat2000 adlı üyeden alıntı: mesajı görüntüle
    PDO ile yapıyorsan
    $pdo_nesnesi->lastInsertId(); sana rapor tablosundaki raporun id'sini verir. Php den bağımsız olarak ise mysql'de 'SELECT LAST_INSERT_ID()' sorgusu en son girilenin ID'sini sana verir. Zaten ODBC ile çalışıyorsan mysql sorgusu ile almak zorundasın, ODBC lastInsertId()'yi desteklemez.
    mysql sorgusu ile almak karşık biraz klasik aspde yapıyoruzda işte php ye gelince kaldık
  • 21-10-2015, 13:34:38
    #4
    Merhaba üstadım,
    İlk önce 1. tabloya insert etmek istediğin verileri insert ettir sonra bir if sorgusuna al veriler tabloya eklendiyse mysql_insert_id(); ile son eklenen verinin id'sini alabilirsin. Eğer şart doğru ise 2.tabloya gerekli bilgileri insert ettir 2.tabloya 1.tabloya eklenen verinin id'sini ekleyebilirsin bu şekilde.

    mysql_insert_id();

    Esenlikle.
  • 21-10-2015, 13:47:27
    #5
    Empires adlı üyeden alıntı: mesajı görüntüle
    Merhaba üstadım,
    İlk önce 1. tabloya insert etmek istediğin verileri insert ettir sonra bir if sorgusuna al veriler tabloya eklendiyse mysql_insert_id(); ile son eklenen verinin id'sini alabilirsin. Eğer şart doğru ise 2.tabloya gerekli bilgileri insert ettir 2.tabloya 1.tabloya eklenen verinin id'sini ekleyebilirsin bu şekilde.

    mysql_insert_id();

    Esenlikle.
    mysql_query("INSERT INTO rapor SET ad='$raporad', urun= '$raporurun', aciklama = '$aciklama'");

    $giden_id = mysql_insert_id();

    mysql_query("INSERT INTO rapor_urun SET k_id = '$giden_id', gerisi = '$gerisi'");

    bunu deniyorum hocam

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:47:27 -->-> Daha önceki mesaj 13:36:44 --

    sorun çözüldü
  • 21-10-2015, 14:06:50
    #6
    sanalyer adlı üyeden alıntı: mesajı görüntüle
    mysql_query("INSERT INTO rapor SET ad='$raporad', urun= '$raporurun', aciklama = '$aciklama'");

    $giden_id = mysql_insert_id();

    mysql_query("INSERT INTO rapor_urun SET k_id = '$giden_id', gerisi = '$gerisi'");

    bunu deniyorum hocam

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:47:27 -->-> Daha önceki mesaj 13:36:44 --

    sorun çözüldü
    Anlattığım mantığı kullanarak mı yaptınız yoksa kendiniz mi bir mantık ürettiniz üstadım, kendi mantığınızı kullanarak yaptıysanız anlatın bu tarz bir işlem yapmak isteyen arkadaşlara da yardımcı olmuş olursunuz.
  • 21-10-2015, 14:16:41
    #7
    Empires adlı üyeden alıntı: mesajı görüntüle
    Anlattığım mantığı kullanarak mı yaptınız yoksa kendiniz mi bir mantık ürettiniz üstadım, kendi mantığınızı kullanarak yaptıysanız anlatın bu tarz bir işlem yapmak isteyen arkadaşlara da yardımcı olmuş olursunuz.
    sizin mantığınız hocam kodlardan anlaşılacağı gibi biraz sadeleştirilmiş hali