みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQLから取り出したものを3つに分ける

MySQLに以下のようなSQLを打ちました。

create table table_list(
id int,
task varchar(255)
);

insert into table_list values(1,'ほげほげ1-1');
insert into table_list values(1,'ほげほげ1-2');
insert into table_list values(2,'ほげほげ2-1);
insert into table_list values(2,'ほげほげ2-2');
insert into table_list values(3,'ほげほげ3-1');

そして、空のdiv要素が3つあります。

このデータベースからidの数値別に、div要素へtaskの文字列を入れたいのですが、どうすればいいのでしょうか?

SQLで「select * from table_list」をやってからtaskを取り出すのか、3回SQLで「select task from table_list where id=1」のようにするのがよろしいんでしょうか?

投稿日時 - 2007-04-10 21:50:40

QNo.2910942

困ってます

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

$arr1=array('ほげほげ1-1','ほげほげ1-2')
$arr2=array('ほげほげ2-1','ほげほげ2-2')
$arr3=array('ほげほげ3-1')

と同等のことがしたいのであれば、以下の通りです。

$sql="select * from table_list";
$res=mysql_query($sql);
while($rows = mysql_fetch_array($res,MYSQL_ASSOC)){
$arrayName="arr".$rows["id"];
${$arrayName}[]=$rows["task"];
}
//確認
print_r($arr1);
print_r(arr2);
print_r($arr3);

普通は任意の名前の変数など使わずに、多項配列にします

$sql="select * from table_list";
$res=mysql_query($sql,$this->link) or die(mysql_error());
while($rows = mysql_fetch_array($res,MYSQL_ASSOC)){
$arr[$rows["id"]][]=$rows["task"];
}
//確認
print_r($arr);

投稿日時 - 2007-04-11 09:51:38

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

まず・・・
フィールド名がidというからには排他的であるのが普通ですね。
SQL的にはuniqueもしくはprimaryで管理すべきところです。

とりあえず同じidが複数あるという場合は
select * from table_list
して、whileで回して、値を得るのが常套でしょう。
通常はSQLを発行する時点でidが1,2,3であることをわかっている
わけではないので後者はつかわないと思います。
またidがかぶっているのでdivに渡す値は複数値になるので、
どうやって表現するか仕様をあらかじめ検討しておいた方がよいですね

投稿日時 - 2007-04-10 23:09:09

補足

idの数は1~3の3つしかありません。
名前が悪かったです。一意ではありません。

そして、select task from table_list where id==1
というSQLを打つと、下のような配列が2つ、1つの変数に入ってしまいます。

array (
'task' => 'ほげほげ1-1',
)

array (
'task' => 'ほげほげ1-2',
)

これを、array('ほげほげ1-1','ほげほげ1-2') のような1つの配列にしたいのです。

これをid=2、3でも同じようにして、結果的に
$arr1=array('ほげほげ1-1','ほげほげ1-2')
$arr2=array('ほげほげ2-1','ほげほげ2-2')
$arr3=array('ほげほげ3-1')
というふうに。

もしできるならばSQLを1回でできると良いのですが、whileでid別に変数に分ける方法がわかりません。

投稿日時 - 2007-04-11 00:14:57

ANo.1

HTMLの完成イメージは、どういった感じでしょうか?

投稿日時 - 2007-04-10 22:47:40

あなたにオススメの質問