2012-02-26 14 views
0

これがデータベース設計の最善の方法であるかどうかはわかりませんが、私のデータベースにはTEXT型がありますカンマ(item1、item2、item3、item4)で区切られた一連の項目があります。だから、誰もがこれを行うには、コードを持っていないか、私は先に行くと、正規化しなければならないデータベースからコンマで区切られた項目のリストを取得し、リスト形式で入力するPHPコード

  • ITEM1
  • ITEM2
  • ITEM3
  • ITEM4

:しかし、私はそれはとして出力たかったです私のテーブル?

+1

アイテムが4つしかなく、検索する静的なデータの場合は、この列で検索を行っていない場所です。カンマで区切ってdbに格納するのは理にかなっています。このアイテムを検索する場合は、テーブルを最適化します。 – insomiac

+0

+1を正規化します。 –

+0

SOはhttp://gimme-teh-codez.comではありません –

答えて

2

あなたはそのフィールドのいずれかの内容のためのデータベースを検索する必要がある場合、それはdbテーブルを正規化するために理にかなってデータを出力する

を配列にその文字列をオンにするexplode()を使用し、それをループすることができますしかし、。

+0

すべての権利、explode関数のおかげです。私は検索するので、それを正規化する必要があるように見えます。 – OneSneakyMofo

2

これを試してみてください:

$items = explode(",", $string_from_db); 
echo '<ul>'; 
foreach($items as $item) { 
    echo '<li>' . trim($item) . '</li>'; 
} 
echo '</ul>'; 

は(爆発)文字列を受け取り、指定された文字に基づいて、配列にそれをseperates。
次に、配列をループして各リスト項目を出力します。
trim()はいずれかの端から空白を削除します。

+0

これは正しい答えだと思います。あなたのテーブルを正規化する限り、これはあなたのこのデータの使用に依存し、実際にはPHPにはまったく関係しません。リストの項目が4つだけであるかどうか、あるいは変数が変わった場合など、データベースの設計についてもっと詳しく教えてください。 – MikeMurko

関連する問題