• 15-04-2019, 16:15:53
    #1
    Merhaba,

    Bir form ile bilgileri alıyorum ve bunları ajax ile aynı veritabanında 2 alana yazdırmaya çalışıyorum.

    Gelen formdaki bazı bilgileri bilgi başlığına yazıyorum ve bazılarını da veri_açıklama başlığına yazıyorum. Yapmaya çalıştığım ise insert yaparken veri id otomatik alıyor, ve bu alınan id rakamını da veri_açıklamada v_id kısmına yazdırmak istiyorum. Yani bağlı olduğu verinin id numarasını belirtmek istiyorum.
    En son id çektirip ona göre yapayım dedim olmadı, bunun mutlaka pratik bir yolu vardır diye sormak istedim. Umarım karışık anlatmamışımdır.


    veri
    id title author
    --------------------------
    1 Deneme AHmet
    2 Ornek Mehmet


    veri_aciklama
    id v_id aciklama konu
    ----------------------------------------------
    1 1 Uzun açıklama Var
    2 1 Ornek Açıklama Yok
    3 2 Açıklama Yok Var



    [B]$id = ?????[/B]
    
    
    $result1 = DB::insert("INSERT INTO veri(title,author) VALUES($title,$author)");
    
    $result2 = DB::insert("INSERT INTO veri_aciklama(v_id,aciklama,konu) VALUES($id,$aciklama,$konu)");
  • 15-04-2019, 16:27:21
    #2
    1. tabloya kayit yaptıktan sonra last insert id ile id'yi alip 2. tabloya kayit yapabilirsiniz
  • 15-04-2019, 16:33:39
    #3
    Zeta adlı üyeden alıntı: mesajı görüntüle
    1. tabloya kayit yaptıktan sonra last insert id ile id'yi alip 2. tabloya kayit yapabilirsiniz
    İlk aklıma o geldi ama mysql ile çekmediğim için bir türlü adapte edemedim.

    $id = $result1->lastInsertId();
    denedim almadı mesela
  • 15-04-2019, 16:35:55
    #4
    nickelaj adlı üyeden alıntı: mesajı görüntüle
    İlk aklıma o geldi ama mysql ile çekmediğim için bir türlü adapte edemedim.

    $id = $result1->lastInsertId();
    denedim almadı mesela
    kullandığın kodu paylaşırsan yardımcı olacak arkadaşlar çıkacaktır.
  • 15-04-2019, 16:37:27
    #5
    Zeta adlı üyeden alıntı: mesajı görüntüle
    kullandığın kodu paylaşırsan yardımcı olacak arkadaşlar çıkacaktır.
    ilk posta ekledim sonradan. Yine de teşekkürler ilginize



    nickelaj adlı üyeden alıntı: mesajı görüntüle
    ilk posta ekledim sonradan. Yine de teşekkürler ilginize
    Alttaki gibi bir örnek buldum ama bununla da çektiremedim son id numarasını.

    $id = DB::select('SELECT id FROM veri ORDER BY id DESC LIMIT 1');
  • 15-04-2019, 20:44:51
    #6
    nickelaj adlı üyeden alıntı: mesajı görüntüle
    ilk posta ekledim sonradan. Yine de teşekkürler ilginize




    Alttaki gibi bir örnek buldum ama bununla da çektiremedim son id numarasını.

    $id = DB::select('SELECT id FROM veri ORDER BY id DESC LIMIT 1');
    framework mü kullanıyorsunuz veya kullandıgınız db sınıfının adı nedir
  • 15-04-2019, 20:48:56
    #7
    Hocam rand komutu ile her veriye key atayabilirsiniz, ikinci insertte ise ilk insertte kaydedilen keyi aratıp Where ile oraya yerleştirirsiniz
  • 15-04-2019, 21:04:05
    #8
    Zeta adlı üyeden alıntı: mesajı görüntüle
    framework mü kullanıyorsunuz veya kullandıgınız db sınıfının adı nedir
    Mysql kullanıyorum. Çok ta uzman olmadığımdan yanlış cevap vermiş olmayayım. Aldığım bir scripti kendime uyarlamaya çalışıyorum.



    berkimren adlı üyeden alıntı: mesajı görüntüle
    Hocam rand komutu ile her veriye key atayabilirsiniz, ikinci insertte ise ilk insertte kaydedilen keyi aratıp Where ile oraya yerleştirirsiniz
    Tavsiyeniz için teşekkürler ama daha hızlı bir yolu vardır mutlaka.
    Getlastid diye bir sistemle son idyi alabilmem uygun olacak ama paylaştığım kodlarda başaramadım
  • 15-04-2019, 22:15:31
    #9
    Tabikide vardır ancak ben soyledigim sistemi kullanırım sebebi ise aynı anda 2 kisinin islem yaptıgını dusunun binde bir de olsa hatalı idyi alma ihtimali var. O yuzden bir key tanımlayıp ikinci insertte o keye islem yaptırmak daha mantıklı geliyor