MySQL veritabanı kayıtları ve değişim telefon formatları döngü

2 Cevap php

Ben bir telefon hayır vardır, eski bir veritabanı tablosu üzerinde çalışıyorum. alan

ancak sorun (4k üzeri) tüm kayıtlar değişen olmasıdır

biçimleri.

PHP kullanarak kayıtlar arasında döngü ve belirli bir telefon formata kayıtlarının güncellenmesi ile bunları düzeltmek için hızlı bir yol olup olmadığını merak ediyorum

2 Cevap

4K tüm pek kayıtları gibi gelmiyor.

Ve ben değişik biçimleri kombinasyon sonlu sayıda girdiğini bahse girerim.

Birkaç akıllıca SQL sorguları ile mümkün olurdu merak ediyorum. RDBMS düzenli ifadeler ve dize değiştirme işlevleri varsa bir kaç GÜNCELLEME talimatları ile yönetmek olabilir. Değilse, bir veritabanı sorgulama dize değiştirme yapıyor ve güncelleme yeteneği ile herhangi bir dil işi yapardı.

Ben 4k kayıtları endişelenecek bir şey değildir katılıyorum. Ben, telefon numaralarını ve tablonun birincil kimliği sorgulama telefon numarasından tüm karakterleri sıyırma ve sonra istediğiniz biçimi olduğu manipüle öneririz. Yoksa, bunu yalnızca sayılar tutmak ve numarayı bunu göstermek her zaman değiştirmek için ön-uç kullanabilirsiniz. Aşağıda kullanmayı deneyebilirsiniz biraz sınanmamış bir betik. Uzantılarını işlemek ve 10 numaraları vardır bekliyor gelmez.

// mysql_connect stuff
$q = mysql_query("Select phone_id, phone_number From phones");
while($r = mysql_fetch_assoc($q)) {
    $num = ereg_replace("[^0-9]", "", $r['phone_number']);
    if(strlen($num) == 10) {
        $num = substr($num, 0, 3) . '-' . substr($num, 3, 3) . '-' . $substr($num,-4);
    }
    $update = mysql_query("Update phones Set phone_number = '" . $num . "' Where phone_id = " . $r['phone_id']);
    // updated?
}