2017-06-26 19 views
1

私はまだPHPを使い始めておらず、データベースから引き出されている電話番号をどのように書式設定するのかを考え出すのに苦労しています。データベースから電話番号をフォーマットする

は、私は次のコードを使用してテーブルを作成しています:

<?php 
include ('database.php'); 
$result = mysql_query("SELECT * FROM members") or die(mysql_error()); 

echo "<div class='container'>"; 
include ("header.php"); 
echo "<h4>Members</h4><div class='pull-right'><a class='btn btn-primary btn-sm' href='new.php'>New Member</a></div>"; 
echo "<hr>"; 
echo "<table class='table table-striped'>"; 
echo "<tr><th>ID</th> <th>First Name</th> <th>Last Name</th> <th>Birthday</th><th>Phone Number</th><th></th> <th></th></tr>"; 
while ($row = mysql_fetch_array($result)) { 
    echo "<tr>"; 
    echo '<td>' . $row['id'] . '</td>'; 
    echo '<td>' . $row['first_name'] . '</td>'; 
    echo '<td>' . $row['last_name'] . '</td>'; 
    echo '<td>' . $row['birthday'] . '</td>'; 
    echo '<td>' . $row['phone_number'] . '</td>'; 
    echo '<td><a href="edit.php?id=' . $row['id'] . '"><span class="fui-new"></span></a></td>'; 
    echo '<td><a href="delete.php?id=' . $row['id'] . '"><span class="fui-trash"></span></a></td>'; 
    echo "</tr>"; 
} 
echo "</table>"; 
echo "</div>"; 
?> 

は、私は定期的に米国のファッションでそれらをフォーマットしたいのです:(XXX)XXX - XXX。

ご協力いただきありがとうございます。

+0

http://php.net/substrそれはデータベースに格納される方法を示すこともできます... – Devon

+1

**非推奨のmysql_ APIを使用して**停止してください。 mysqli_ * itを使用してください。 – Jens

+0

**警告**:PHPを学んでいるだけの方は、古い[mysql_query'](http://php.net/manual/en/function.mysql-query .php)インターフェイス。それはひどいので、PHP 7では削除されました。[PDOは学ぶのが難しくありません](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- for database-access /)、[PHP The Right Way](http://www.phptherightway.com/)のようなガイドはベストプラクティスの説明に役立ちます。 **あなたのユーザーパラメータが[正しくエスケープされている](http://bobby-tables.com/php)か、重大な[SQLインジェクションバグ](http://bobby-tables.com/ )。 – tadman

答えて

1

これは、米国、カナダおよび一部の国で使用されているように、10桁の電話番号をフォーマットするために書いた関数です。

function FormatPhoneNum($ph) { 
$ph = str_replace(array('(',')','-','.', ' '), '', $ph); 
if (strlen($ph) ==10){ $ph = '('. $ph['0']. $ph['1']. $ph['2'].')  '.$ph['3'].$ph['4'].$ph['5'].'-'.$ph['6'].$ph['7'].$ph['8'].$ph['9'];} 
return $ph; 
} 

...そして、このような関数を使用し、スクリプトのどこかにその機能を追加

echo '<td>' . FormatPhoneNum($row['phone_number']) . '</td>'; 
+1

ここで電話番号についてかなり野生的な前提があります。 '+44 303 123 7300'は有効な数字ですか? – tadman

+0

私は米国とカナダの電話番号の機能を使用します。私はその情報を含めるために私の答えを更新しました –

関連する問題