Ben kesinlikle bir senaryo olarak bu yazımı bitirmek istiyorum.
Ben tamamen yeni bir tabloya tüm telefon numaralarını koyarak fikir gibi, ama bunu yaparken performans veya uygulama sorunları ile ilgili sorunlar varsa olacak o zaman, emin, Telefon1, Telefon2 vb gibi alanları terk
Ya çözüm DB erişmek nasıl bağlı .. böyle bir şey bakmak ve olası tüm performansını eek gerekiyorsa. Olur
Herhalde böyle bir şey ile bitirmek istiyorum:
$query = "SELECT id, phone FROM users";
$result = $db->query($query);
while ($row = $result->fetch_assoc()) {
$phones = array();
$phones = explode('/', $row['phone']);
$i = 1;
foreach($phones as $p) {
if (strlen($p) >= 7) {
$row['phone'.$i] = $p;
$i++;
}
}
$upquery = "UPDATE users SET phone1='{$row['phone1}', phone2='{$row['phone2}', ...
WHERE id={$row['id'];";
$result = $db->query($query);
}
Ben telefon numaraları olarak kaydedilmesini garip parçaları önlemek için yerinde dize uzunluğu test var. Ayrıca kaydetmeden önce oldukça kadar her telefon numarasını biraz regex sihir kullanabilirsiniz.
Daha hızlı yapmak için yollar aynı sorguda birden çok güncelleştirmeyi çalıştırmak olacaktır. Senin üzerinde komut kez o her yürütme tarafından etkilenen ve bunu birden çok kez çalıştırılan kullanıcı satır sayısını kısıtlamak olsaydı.