• 締切済み

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

初心者です。あるカラムから複数のレコードの値を取り出すにはどのように書けばよいかどなたか教えていただけますでしょうか。 下記のコードでは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に代入させるにはどのように書けばよいでしょうか。 どなたか教えて頂けたら幸いです。 よろしくお願い致します。

みんなの回答

回答No.1

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

leoairen
質問者

お礼

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

leoairen
質問者

補足

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

関連するQ&A