2011-06-26 5 views
4

私はニュースのテーブルの主キーフィールド(news_id)を持っている原発1から01までのキー、02から2、など

それは

1、2、3、4から開始し、そうで..

しかし、01、02、03、04、e tcに変更したいのですが可能ですか?

もしそうでなければ、どのようにPHPで行うことができますか?

+1

何が必要ですか?このようなキーを操作することは悪い考えです。最善の方法は、キーを出力するときにフォーマットを変更する可能性が最も高い方法です。 –

+1

"01"形式の出力をしたいのであれば、DBから結果を得た後にidを文字列に変換するだけです。 – Zeal

+0

@Pekka出力用です。 domain.com/news/031(Googleニュースは提出時にこの方法を選ぶ) – user622378

答えて

14

は、例99%に悪い考えです。

行くための最善の方法は、this question:

$key = 4; 
echo sprintf('%02d', $key); // outputs 04 
0

それは出力のためだ場合、主キーが10未満であれば、単に0を追加します。キーを直接操作

if($result['id'] < 10){ 
    echo '0' . $result['id']; 
} 
0

に示すように、キーを出力する際のフォーマットを変更することがおそらくあるわかりました...これを行うもう一つの方法は、過度に論理や数学のに(...です。 ..)

$id = 5; 
$noOfZeros = 2; // i.e. you are converting 2 to 002. 
$divider = pow(10,$noOfZeros); // Now you are creating a divider (/100 in this case) 
$id = $id/$divider; // dividing the id by 100. i.e. 5 gets converted to 0.05 
$zeroedId = str_replace(".","",$id); // finally replace the "." with nothing... so 0.05 becomes 005 :). 
関連する問題