• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一つのカラムから、データを分けて取り出す方法)

一つのカラムから、データを分けて取り出す方法

このQ&Aのポイント
  • PHP4とMysql4.1の環境で、カラムからのデータ抽出がうまくいかない場合、カンマで区切って別々に抽出し、重複を除いてブラウザに表示させる方法を教えてください。
  • 配列をDBから取得し、splitしてもブラウザ上で「array」と表示される場合、別の方法を教えてください。
  • カラムにカンマで区切られたデータがあり、それを抽出し重複を除いて表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

#2です。 $data=array(); while($row=mysql_fetch_array()) {  $data=array_merge($data,split(",",$row[目的カラム])); } foreach(array_unique($data) as $x) echo $x."<br/>"; かな。今、環境が無いのでためせませんが。 関数一覧の載ったリファレンス本を、覚えなくていいので一度通読すると良いと思います。「ああ、こんなことができるだ」というのはやり方を忘れても記憶に残りやすく、後は必要な時にうっすらとした記憶を頼りにリファレンスでやり方を探すと何とかなります。

Dokoka123
質問者

お礼

有難うございます。 うまくいき、望んでいた結果をだすことができました。 リファレンス本、是非読んでみようと思います。 大変お世話になりました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

こんな感じで、 $row=mysql_fetch_array(); print join(",",array_unique(split(",",$row[目的カラム]))); join()でarrayを再度文字列にしてやります。

Dokoka123
質問者

補足

ご回答、ありがとうございます。 大変助かりました。 また、追加の質問で申し訳ないのですが、 お分かりになりましたら教えていただけますでしょうか。 +--------+ | A,B,A, | +--------+ | C,D | +--------+ | D,E,B | +--------+ このように複数のレコードが存在する場合、ブラウザに以下のように表示させることは可能でしょうか。 A B C D E 宜しくお願いいたします。

回答No.1

$row = mysql_fetch_array(); $array = split(",",$row); print $array[0]; 多分こんな感じになるんじゃないですか? 重複を無くすには array_unique関数が簡単かも知れません。 $row = mysql_fetch_array(); $array = split(",",$row); $array = array_unique($array); foreach($array as $string){ print $string; } こんな感じでしょうか。

関連するQ&A