• 17-01-2019, 01:48:23
    #1
    soru 1 :
    Elimdeki veriler şu şekilde diyelim.
    Kelime1:Kelime2
    Kelime3:Kelime4
    Kelime5:Kelime6
    Kelime1:Kelime2

    Textareadan post edilecek bu verileri Tablom da T1 T2 Sütunlarına nasıl sırasıyla ekleyebilirim?
    Yani şu şekilde :
    T1 T2
    Kelime1 | Kelime2
    Kelime3 | Kelime4
    Kelime5 | Kelime6

    Soru 2 : Veri tabanına yüklerken yüklenilecek veri, veri tabanında mevcutsa yükleme onu atlayıp devam et nasıl yapılabilir.(Yani 100 adet veri yüklerken ortasında mysql hata verip bu veri mevcut şeklinde durmayan bir kod var mı?)

    Sorularım biraz fazla oldu sanırım ama işin içinden çıkamadım yabancı forumlardan bulabildiklerimde pek iç açıcı değildi
  • 17-01-2019, 06:28:04
    #2
    1. önce textareadan gelen satırları ayıralım.
    $gelenveri = $?POST["gelenveri"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    1.her satırı alıp iki nokta( : ) ile ayıralım.
    foreach($satirlar as $satir) {
    $parcala = explode(":",$satir);
    $dbkontrol = mysql_query("select id from TABLON where deger = " . $parcala[0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    $dbkontrol = mysql_query("select id from TABLON where deger = " . $parcala[1]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    }
  • 17-01-2019, 14:51:35
    #3
    crooper adlı üyeden alıntı: mesajı görüntüle
    1. önce textareadan gelen satırları ayıralım.
    $gelenveri = $?POST["gelenveri"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    1.her satırı alıp iki nokta( : ) ile ayıralım.
    foreach($satirlar as $satir) {
    $parcala = explode(":",$satir);
    $dbkontrol = mysql_query("select id from TABLON where deger = " . $parcala[0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    $dbkontrol = mysql_query("select id from TABLON where deger = " . $parcala[1]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    }
    Hocam cevabınız için teşekkür ederim ancak ben beceremedim
    kayit.html
    <form action="kayit.php" method="post">
    <textarea type="text" name="kayit" id="kayit" rows="4" cols="50"></textarea>
    <input type="submit" value="Kaydet" id="submitButton" />
    </form>
    kayit.php
    <?php
    include("baglan.php");
    $gelenveri = $_POST["kayit"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    //1.her satırı alıp iki nokta( : ) ile ayıralım.
    mysql_select_db("dumpdb");
    foreach($satirlar as $satir) {
    $parcala = explode(":",$satir);
    $dbkontrol = mysql_query("select id from mail where mail = " . $parcala[0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    $dbkontrol = mysql_query("select id from mail where pass = " . $parcala[1]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    }
    ?>
    bu şekilde kullandığımda şu şekilde hata alıyorum :
    Notice: Undefined offset: 1 in C:\xampp\htdocs\kayit.php on line 13
    
    Notice: Undefined offset: 1 in C:\xampp\htdocs\kayit.php on line 13
    
    Notice: Undefined offset: 1 in C:\xampp\htdocs\kayit.php on line 13
  • 17-01-2019, 16:23:42
    #4
    1. Soru: ($satirlar ile başlayan kod satırı editörden dolayı sıkıntılı çıkmış buraya tıklayarak linkten kopyalayın.)
    $gelenveri = $_POST["kayit"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    
    foreach($satirlar as $satir) {
    $dbkontrol = mysql_query("select id from mail where mail = " . $parcala[0][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol)
    //bla bla bla
    
    $dbkontrol = mysql_query("select id from mail where mail = " . $parcala[1][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol)
    //bla bla bla
    }
    2. Soru:
    INSERT INTO tabloAdı (sutunlar) SELECT * FROM (SELECT eklenicek_veri1, eklenicek_veri2) AS tmp WHERE NOT EXISTS (SELECT kontrolEdilecekSutun FROM tabloAdı WHERE sutun = deger);
    tabloAdı: Hangi tabloya veri eklenecekse veya kontrol edilecekse onu girin.
    sutunlar: Hangi alanlara veri ekleyecekseniz o alanların isimlerini girin.
    eklenilecek_veri1 ve eklenilecek_veri2: Post olarak aldığınız değerler.
    kontrolEdilecekSutun: Mesela A ve B sütunu olsun. 2 tane de kaydımız olsun. 1. Kayıt A Sütun Değeri: 1, B Sütun Değeri: 2. 2. Kayıt A Sütun Değeri: 3, B Sütun Değeri: 4. Yeni ekleyeceğiniz kaydın A sütunu değeri 1 ise ve ona göre kayıt yapmak istemiyorsanız bu kısmı A sütunu olarak belirteceksiniz.
    deger: Bu kısmı şöyle yaparbilirsiniz; sutun = eklenilecek_veri1 şeklinde yapabilirsiniz.
  • 17-01-2019, 16:29:52
    #5
    mynameisneo adlı üyeden alıntı: mesajı görüntüle
    Hocam cevabınız için teşekkür ederim ancak ben beceremedim
    kayit.html
    <form action="kayit.php" method="post">
    <textarea type="text" name="kayit" id="kayit" rows="4" cols="50"></textarea>
    <input type="submit" value="Kaydet" id="submitButton" />
    </form>
    kayit.php
    <?php
    include("baglan.php");
    $gelenveri = $_POST["kayit"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    //1.her satırı alıp iki nokta( : ) ile ayıralım.
    mysql_select_db("dumpdb");
    foreach($satirlar as $satir) {
    $parcala = explode(":",$satir);
    $dbkontrol = mysql_query("select id from mail where mail = " . $parcala[0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    $dbkontrol = mysql_query("select id from mail where pass = " . $parcala[1]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    //ekle kodları
    }
    }
    ?>
    bu şekilde kullandığımda şu şekilde hata alıyorum :
    Notice: Undefined offset: 1 in C:xampphtdocskayit.php on line 13
    
    Notice: Undefined offset: 1 in C:xampphtdocskayit.php on line 13
    
    Notice: Undefined offset: 1 in C:xampphtdocskayit.php on line 13
    Neden mysql_ komutları kullanıyorsunuz? Çalıştığınız sunucu veya local php 5.6 sürüm mü? Bildiğiniz üzere mysql_ komutları mysqli_ olarak değişti
  • 17-01-2019, 18:20:30
    #6
    BatuhaNN adlı üyeden alıntı: mesajı görüntüle
    1. Soru: ($satirlar ile başlayan kod satırı editörden dolayı sıkıntılı çıkmış buraya tıklayarak linkten kopyalayın.)
    $gelenveri = $_POST["kayit"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    
    foreach($satirlar as $satir) {
    $dbkontrol = mysql_query("select id from mail where mail = " . $parcala[0][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol)
    //bla bla bla
    
    $dbkontrol = mysql_query("select id from mail where mail = " . $parcala[1][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol)
    //bla bla bla
    }
    2. Soru:
    INSERT INTO tabloAdı (sutunlar) SELECT * FROM (SELECT eklenicek_veri1, eklenicek_veri2) AS tmp WHERE NOT EXISTS (SELECT kontrolEdilecekSutun FROM tabloAdı WHERE sutun = deger);
    tabloAdı: Hangi tabloya veri eklenecekse veya kontrol edilecekse onu girin.
    sutunlar: Hangi alanlara veri ekleyecekseniz o alanların isimlerini girin.
    eklenilecek_veri1 ve eklenilecek_veri2: Post olarak aldığınız değerler.
    kontrolEdilecekSutun: Mesela A ve B sütunu olsun. 2 tane de kaydımız olsun. 1. Kayıt A Sütun Değeri: 1, B Sütun Değeri: 2. 2. Kayıt A Sütun Değeri: 3, B Sütun Değeri: 4. Yeni ekleyeceğiniz kaydın A sütunu değeri 1 ise ve ona göre kayıt yapmak istemiyorsanız bu kısmı A sütunu olarak belirteceksiniz.
    deger: Bu kısmı şöyle yaparbilirsiniz; sutun = eklenilecek_veri1 şeklinde yapabilirsiniz.
    Cevabınız için teşekkür ederim.
    Bu sistemi daha önce instagram panellerinde userass yükleme yapan arkadaşların scriptinde görmüştüm nasıl yapıldığını merak ettiğimden öğrenmeye çalışıyoru hocam.
    Benim oluşturduğum database şu şekilde:


    Yazığınız kodlamadan anladığım şekilde şu hale getirdim php sayfamı :
    <?php
    include("baglan.php");
    $gelenveri = $_POST["kayit"];
    $satirlar = preg_split('/\r\n|[\r\n]/', $gelenveri);
    //1.her satırı alıp iki nokta( : ) ile ayıralım.
    foreach($satirlar as $satir) {
    $parcala = explode(":",$satir);
    mysql_select_db("dumpdb");
    $dbkontrol = mysql_query("select id from maildump where mail = " . $parcala[0][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    
    }
    $dbkontrol = mysql_query("select id from maildump where pass = " . $parcala[1][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    
    }
    $ekle = mysql_query("INSERT INTO maildump (mail,pass) SELECT * FROM (SELECT $parcala[0][0], $parcala[1][0]) AS tmp WHERE NOT EXISTS (SELECT mail FROM maildump WHERE mail = $parcala[0][0]);");
    
    }
    ?>
    şuanda veri post ettiğimde boş sayfa alıyorum phpmyadminde'de hiçbir data eklenmemiş gözüküyor sorun tam olarak nerede yardımcı olabilirseniz sevinirim
  • 17-01-2019, 18:41:26
    #7
    mynameisneo adlı üyeden alıntı: mesajı görüntüle
    Cevabınız için teşekkür ederim.
    Bu sistemi daha önce instagram panellerinde userass yükleme yapan arkadaşların scriptinde görmüştüm nasıl yapıldığını merak ettiğimden öğrenmeye çalışıyoru hocam.
    Benim oluşturduğum database şu şekilde:


    Yazığınız kodlamadan anladığım şekilde şu hale getirdim php sayfamı :
    <?php
    include("baglan.php");
    $gelenveri = $_POST["kayit"];
    $satirlar = preg_split('/rn|[rn]/', $gelenveri);
    //1.her satırı alıp iki nokta( : ) ile ayıralım.
    foreach($satirlar as $satir) {
    $parcala = explode(":",$satir);
    mysql_select_db("dumpdb");
    $dbkontrol = mysql_query("select id from maildump where mail = " . $parcala[0][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    
    }
    $dbkontrol = mysql_query("select id from maildump where pass = " . $parcala[1][0]); // myqsl sorgusunu kendine göre düzenlemen gerek
    if($dbkontrol == true) {
    
    }
    $ekle = mysql_query("INSERT INTO maildump (mail,pass) SELECT * FROM (SELECT $parcala[0][0], $parcala[1][0]) AS tmp WHERE NOT EXISTS (SELECT mail FROM maildump WHERE mail = $parcala[0][0]);");
    
    }
    ?>
    şuanda veri post ettiğimde boş sayfa alıyorum phpmyadminde'de hiçbir data eklenmemiş gözüküyor sorun tam olarak nerede yardımcı olabilirseniz sevinirim
    mysql_query ve select_db yaparken veritabanının bulunduğu değişkeni belirtmeniz gerek. Mesela mysql_query($veritabani, "select * from table") gibi.
    http://w3schools.sinsixx.com/php/fun...ect_db.asp.htm
  • 17-01-2019, 19:28:50
    #8
    @Narcos ve @BatuhaNN Yardımlarınız için teşekkür ederim tamamlayabildim