0

我正在处理一个有电话号码的旧数据库表。场地

但问题是所有条目(超过 4k)都在变化

格式。

我想知道是否有一种快速的方法可以通过使用 PHP 循环记录并将记录更新为特定的电话格式来修复它们

4

2 回答 2

1

我同意 4k 记录没什么好担心的。我建议查询电话号码和表格的主 ID,从电话号码中删除所有字符,然后将其操作为您想要的格式。或者,您可以将其保留为仅数字,并在每次显示时使用前端来修改数字。下面是一个未经测试的脚本,您可以尝试使用。不处理分机,预计有 10 个号码。

// 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?
}
于 2010-03-03T11:46:33.107 回答
1

4K 听起来根本不像很多唱片。

而且我敢打赌,不同的格式属于有限数量的组合。

我想知道是否可以通过一些明智的 SQL 查询来实现。如果您的 RDBMS 具有正则表达式和字符串替换功能,您可以使用一些 UPDATE 指令来管理它。如果没有,任何能够查询数据库、进行字符串替换和更新的语言都可以完成这项工作。

于 2010-03-03T11:10:19.230 回答