• 04-11-2022, 12:43:10
    #1
    Merhabalar alıntı olarak belirttiğim formatta txt dosyam var. İlk sütun öğrenci no ikinci sütün öğrenci adı şeklinde. Explode ile ":" ayırıp sqle kayıt yapıyorum. Ama daha önce kullanılan öğrenci numaraları olduğu için öğrenci numarasına göre kontrol edip eğer o satırlar varsa o satırları kaydetmek istemiyorum. Konu hakkında yardımcı olabilir misiniz?

    Alıntı
    5445645646:Ahmet
    4756757567:Mehmet
    2353465235:Mustafa
    2345345345:Kerem
    7876867867:Abdullah
    7696774565:Serkan
    3453453453:Mert
    3252352352:Arda
    2533265474:Yusuf
    <?php
    
    $conn = mysqli_connect('localhost', 'root', 'password', 'db');
    
    mysqli_set_charset($conn, 'utf8');
    
    if (!$conn)
    {
        die(mysqli_error());
    }
    
    $open = fopen("liste.txt", "r");
    
    
    while (!feof($open)) 
    
    
        $getTextLine = fgets($open);
        $explodeLine = explode(":",$getTextLine);
        list($ogrencino,$ogrenciadi) = $explodeLine;
        
    {
    
    $getTextLine = fgets($open);
    
    $qry = "insert into ogrencilerim (ogrencino,ogrenciadi) values('".$ogrencino."','".$ogrenciadi."')";
    
    mysqli_query($conn,$qry);
    }
    
    
    ?>
  • 04-11-2022, 13:13:48
    #2
    Sql sorgunuza where komutu ekleyip Not Exists koşulunu kullanarak dediğinizi yapabilirsiniz. Ya da IF statement kullanıp koşul sağlandığında tetiklenecek bir transaction oluşturabilirsiniz.
  • 04-11-2022, 13:23:45
    #3
    öğrenci numarasına göre count sorgusu yaparak çıkan sonuca göre if else ile ekleme yapabilirsiniz