- 締切済み
複数のレコードの値を取り出すには
初心者です。あるカラムから複数のレコードの値を取り出すにはどのように書けばよいかどなたか教えていただけますでしょうか。 下記のコードでは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に代入させるにはどのように書けばよいでしょうか。 どなたか教えて頂けたら幸いです。 よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- muuming2001
- ベストアンサー率23% (202/847)
f_db_select てのが中身みえないので当てずっぽですが、 foreach ($ret as $h){ $holiday[] = $h['holiday']; } これで配列として取れると思うけど・・・・ ---------------------------------------- てか質問に記載しているプログラムは最終的に1つの値を取り出すために複数の値をsqlで取得したうえで、foreachでぐるぐる回して、全ての値を$holydayに代入している処理になっています。そのため最後に取れた値が$holydayに最終的には入っていますが、、なぜにこんなことしてるんでしょうか。。。何をやっているのか理解できてなくて偶然動いた的な感じが見受けられます。
お礼
ご回答、ありがとうございます。
補足
$holidayに入った複数の日付がカレンダーにある日付と一致したときにある処理を実行したいですが、行き詰まっています。 「if (date("Y-m-d", mktime(0, 0, 0, $m, $d, $y)) == $holiday){ 処理 }」