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

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

締切り済みの質問

複数のレコードの値を取り出すには

初心者です。あるカラムから複数のレコードの値を取り出すにはどのように書けばよいかどなたか教えていただけますでしょうか。

下記のコードではcalendartblというテーブルから1レコードのみ取り出せます。

テーブル:calendartbl

holiday(カラム名)
2016/9/12(レコード1行目)
2016/9/14(レコード2行目)
2016/9/20(レコード3行目)
2016/9/26(レコード4行目)
2016/9/28(レコード5行目)

コード:

$sql = "SELECT calendartbl.holiday FROM calendartbl";
$ret = f_db_select($sql);
foreach ($ret as $h){
$holiday = $h['holiday'];
}

結果=2016/9/12

では複数のレコード、つまり「2016/9/12、2016/9/14、2016/9/20、2016/9/26、2016/9/28」を取り出して、上記の$holidayに代入させるにはどのように書けばよいでしょうか。
どなたか教えて頂けたら幸いです。

よろしくお願い致します。

投稿日時 - 2016-06-25 15:47:04

QNo.9192620

すぐに回答ほしいです

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

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

回答(1)

ANo.1

f_db_select  てのが中身みえないので当てずっぽですが、

foreach ($ret as $h){
$holiday[] = $h['holiday'];
}

これで配列として取れると思うけど・・・・
----------------------------------------
てか質問に記載しているプログラムは最終的に1つの値を取り出すために複数の値をsqlで取得したうえで、foreachでぐるぐる回して、全ての値を$holydayに代入している処理になっています。そのため最後に取れた値が$holydayに最終的には入っていますが、、なぜにこんなことしてるんでしょうか。。。何をやっているのか理解できてなくて偶然動いた的な感じが見受けられます。

投稿日時 - 2016-06-25 16:08:04

補足

$holidayに入った複数の日付がカレンダーにある日付と一致したときにある処理を実行したいですが、行き詰まっています。
「if (date("Y-m-d", mktime(0, 0, 0, $m, $d, $y)) == $holiday){
処理
}」

投稿日時 - 2016-06-25 17:23:24

お礼

ご回答、ありがとうございます。

投稿日時 - 2016-06-25 17:20:39

あなたにオススメの質問