• 29-06-2022, 16:13:41
    #1
    Merhaba ilk defa lazım oldu doküman vs bakındım ama bulamadım

    Phpde olduğu gibi
    Substr yada substr replace yapmam
    Kayıtlı verinin ilk 10 karakterini silmem gerekiyor
    Veri çok fazla
    Döngüye alip 85k veriyi tek tek update etmek yerine var mı bildiğiniz bir yöntem ?
  • 29-06-2022, 16:16:56
    #2
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Merhaba ilk defa lazım oldu doküman vs bakındım ama bulamadım

    Phpde olduğu gibi
    Substr yada substr replace yapmam
    Kayıtlı verinin ilk 10 karakterini silmem gerekiyor
    Veri çok fazla
    Döngüye alip 85k veriyi tek tek update etmek yerine var mı bildiğiniz bir yöntem ?
    Merhaba;

    SELECT SUBSTRING(field, 1, 10 ) FROM tablo
    şeklinde verinin istediğin karakterini alabilirsin. Update kısmına bu şekilde yapıştırırsan tüm veriyi tek sorguda düzeltebilirsin.

    Not : Update sorgusunu çalıştırmadan yukarıdaki sorgunun doğru sonuç ürettiğinden emin olun.

    Kolay gelsin.
  • 29-06-2022, 16:23:43
    #3
    bluemansiiz adlı üyeden alıntı: mesajı görüntüle
    Merhaba;

    SELECT SUBSTRING(field, 1, 10 ) FROM tablo
    şeklinde verinin istediğin karakterini alabilirsin. Update kısmına bu şekilde yapıştırırsan tüm veriyi tek sorguda düzeltebilirsin.

    Not : Update sorgusunu çalıştırmadan yukarıdaki sorgunun doğru sonuç ürettiğinden emin olun.

    Kolay gelsin.
    Aklıma onload ile bir script yazmak geldi
    Ama gerek yok sanırım
    Sunucu bir seferlik bu yükü kaldırır umarım.
    Teşekkür ederim
  • 29-06-2022, 16:26:23
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Aklıma onload ile bir script yazmak geldi
    Ama gerek yok sanırım
    Sunucu bir seferlik bu yükü kaldırır umarım.
    Teşekkür ederim
    Normal şartlarda kolayca çalıştırması gerekir. Ama yine garanti olsun diye güncellediğiniz verilerin, güncellenme tarihlerini değiştirin tekrar çalıştırma durumunuzda tüm veriyi dönmezsiniz. Eğer önemli bir veritabanı ise transaction kullanabilirsiniz geri almak için.
  • 29-06-2022, 17:42:28
    #5
    Php İle Çözüm Ürettim

    Lazım olan birisi çıkar mutlaka


    *** SQL YEDEK ALMADAN İŞLEM YAPMAYIN


    <?php
    header ("Content-Type: text/html; charset=utf-8");
    include('setting.php');
    //bonus sefyap("Bu bir sayfadır.");
    // çıktı bu-bir-sayfadir
    function sefyap ( $fonktmp ) {
        $returnstr = "";
        $turkcefrom = array("/Ğ/","/Ü/","/Ş/","/İ/","/Ö/","/Ç/","/ğ/","/ü/","/ş/","/ı/","/ö/","/ç/");
        $turkceto   = array("G","U","S","I","O","C","g","u","s","i","o","c");
        $fonktmp = preg_replace("/[^0-9a-zA-ZÄzçÇğĞıİöÖşŞüÜ]/"," ",$fonktmp);
        $fonktmp = preg_replace($turkcefrom,$turkceto,$fonktmp);
        $fonktmp = preg_replace("/ +/"," ",$fonktmp);
        $fonktmp = preg_replace("/ /","-",$fonktmp);
        $fonktmp = preg_replace("/\s/","",$fonktmp);
        $fonktmp = strtolower($fonktmp);
        $fonktmp = preg_replace("/^-/","",$fonktmp);
        $fonktmp = preg_replace("/-$/","",$fonktmp);
        return $fonktmp;
    }//sef url için fonksiyon
    if (isset($_REQUEST['id'])) {
        $pg = urldecode($_REQUEST['id']);
    } else {
        $pg = '';
    }
    if ($pg!='') {
     $single = $db->prepare('SELECT * FROM tablo_adı WHERE id = :id');
        $single->execute(array('id' => $_GET['id']));
        while($row = $single->fetch()) {
    $baslik = $row['title'];
    $url = substr($row['url'],11);
    $url = sefyap($url);
    $id = $row['id'];
                
                                                print $url; 
                $degis = $db->prepare("UPDATE tablo_adı SET url = :url WHERE id = :id");
    $update = $degis->execute(array(
    ':url' => $url,
    ':id' => $id
    ));
    if ( $update ){
    print " ";
    } 
    else{
    $error = $degis->errorInfo();
    echo "MySQL Error: " . $error;
    }                             
                                                
                                                
        }
           
    }
    $tp = $pg + 1;
    //son id yada belirli bir id geldiğinde dursun
    if($tp > 9822)
    {
    exit;
    }
    else {
    echo "<meta http-equiv=\"refresh\" content=\"0.1;URL=replace.php?id=$tp\">";
    }
    ?>
    [COLOR=#B8312F][/COLOR]