• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLから取り出したものを3つに分ける)

MySQLからデータを取り出して3つに分ける方法

このQ&Aのポイント
  • MySQLのデータベースからidの数値別にdiv要素へtaskの文字列を入れる方法について教えてください。
  • 具体的には、「select * from table_list」を行い、その後taskを取り出すのか、3回SQLを使用して「select task from table_list where id=1」のようにするのか、どちらの方法が適しているのでしょうか。
  • また、この質問に対するSEOを意識したタイトルやハッシュタグも教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

$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);

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まず・・・ フィールド名がidというからには排他的であるのが普通ですね。 SQL的にはuniqueもしくはprimaryで管理すべきところです。 とりあえず同じidが複数あるという場合は select * from table_list して、whileで回して、値を得るのが常套でしょう。 通常はSQLを発行する時点でidが1,2,3であることをわかっている わけではないので後者はつかわないと思います。 またidがかぶっているのでdivに渡す値は複数値になるので、 どうやって表現するか仕様をあらかじめ検討しておいた方がよいですね

elisleaf
質問者

補足

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別に変数に分ける方法がわかりません。

noname#26650
noname#26650
回答No.1

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

関連するQ&A