0
데이터베이스의 필드 (전화 번호)를 새로운 형식으로 업데이트해야합니다. mysql을 사용하여이 작업을 수행 할 수 있지만, 감가 상각 된 것으로 보아도 mysqli를 사용하여 여러 필드를 업데이트하는 데 도움이되는 정보가 있으면 궁금하다. 숫자 포맷터에 대한 숫자 코드는 다음과 같습니다PHP로 복수 필드 업데이트하기 (MySQL)
function formatPhoneNumber($phoneNumber) {
$phoneNumber = preg_replace('/[^0-9]/','',$phoneNumber);
if(strlen($phoneNumber) > 10) {
$countryCode = substr($phoneNumber, 0, strlen($phoneNumber)-10);
$areaCode = substr($phoneNumber, -10, 3);
$nextThree = substr($phoneNumber, -7, 3);
$lastFour = substr($phoneNumber, -4, 4);
$phoneNumber = '+'.$countryCode.' ('.$areaCode.') '.$nextThree.'-'.$lastFour;
}
else if(strlen($phoneNumber) == 10) {
$areaCode = substr($phoneNumber, 0, 3);
$nextThree = substr($phoneNumber, 3, 3);
$lastFour = substr($phoneNumber, 6, 4);
$phoneNumber = '('.$areaCode.') '.$nextThree.'-'.$lastFour;
}
else if(strlen($phoneNumber) == 7) {
$nextThree = substr($phoneNumber, 0, 3);
$lastFour = substr($phoneNumber, 3, 4);
$phoneNumber = $nextThree.'-'.$lastFour;
}
return $phoneNumber;
}
그리고 쿼리는 SELECT customers_id, customers_telephone FROM customers WHERE customers_telephone NOT IN (' ')
가 영향을 20,000 행에 근접있을 것이다 것,이 작업을 수행하는 가장 효율적인 방법은 무엇입니까? 루프
foreach($customers as $row)
{
$customer_id = $row['customers_id'];
$numbers_array = $row['customers_telephone'];
function formatPhoneNumber($phoneNumber) {
$phoneNumber = preg_replace('/[^0-9]/','',$phoneNumber);
if(strlen($phoneNumber) > 10) {
$countryCode = substr($phoneNumber, 0, strlen($phoneNumber)-10);
$areaCode = substr($phoneNumber, -10, 3);
$nextThree = substr($phoneNumber, -7, 3);
$lastFour = substr($phoneNumber, -4, 4);
$phoneNumber = '+'.$countryCode.'-'.$areaCode.'- '.$nextThree.'-'.$lastFour;
}
else if(strlen($phoneNumber) == 10) {
$areaCode = substr($phoneNumber, 0, 3);
$nextThree = substr($phoneNumber, 3, 3);
$lastFour = substr($phoneNumber, 6, 4);
$phoneNumber = $areaCode.'- '.$nextThree.'-'.$lastFour;
}
else if(strlen($phoneNumber) == 7) {
$nextThree = substr($phoneNumber, 0, 3);
$lastFour = substr($phoneNumber, 3, 4);
$phoneNumber = $nextThree.'-'.$lastFour;
}
return $phoneNumber;
}
formatPhoneNumber($numbers_array);
echo $numbers_array." - ".$customer_id;
}
. 2) for 루프를 사용하여 모든 숫자를 함수에 넣고 새로운 형식 배열에 넣습니다. 3) 각 항목에 대한 갱신 조회를 실행하십시오. – Brobin
@Brobin 원래 질문을 업데이트했지만 첫 번째 행만 수행했는데 문제가 무엇인지 보시겠습니까? – will
루프에서이 기능을 사용할 수 없습니다. 루프 내에서 호출해야합니다. @ 스캇 손더스의 대답을보세요. – Brobin