質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

解決済

php データベースの数値をforeach文で表示するとき、idで繰り返し範囲を指定する方法

mikage126
mikage126

総合スコア2

foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

1回答

0リアクション

0クリップ

575閲覧

投稿2021/05/12 02:35

前提・実現したいこと

イメージ説明

お世話になります。
phpとデータベースの勉強中の初心者です。
ご助力いただけますと幸いです。

現在、予約システムのようなものを作成中です。
データベースは
id , day , count から構成されており
id=1〜56まであります。
countが「0」の時は「×」、それ以外は「○」を表示しています。

表は左から縦に並んでおり、左上が1、右下が56となっています。

実現したいことは、
現状、id=1〜56をforeachで繰り返して1かたまりになっていますが、
1〜8、9〜16、17〜24、、、、と言うふうに分けたいと考えています。

というのも、分けた項目ごとにドロップダウンメニューが作りたいからです。

発生している問題・エラーメッセージ

自分の思う方法で1〜8に分けると、表示されなくなります。

該当のソースコード

現在 ○ ✖️ の表記をさせている箇所 foreach ($pdo->query('select * from reserv') as $row) { if ($row['count']==0) { echo '<p><label for="',$row['id'],'" class="label2">×</label></p>'; }else { echo '<p><input class="checkbox" type="checkbox" name="counter" value="', $row['id'], '" id="', $row['id'],'"><label for="',$row['id'],'" class="label">○</label></p>' ; } }

試したこと

id 1〜8 を表示させたい foreach ($pdo->query('select * from reserv') as $row) { if ($i >= 8) { break; } else if ($row['count']==0) { echo '<p><label for="',$row['id'],'" class="label2">×</label></p>'; $i++; }else { echo '<p><input class="checkbox" type="checkbox" name="counter" value="', $row['id'], '" id="', $row['id'],'"><label for="',$row['id'],'" class="label">○</label></p>' ; $i++; } } id 9〜16 を表示させたい foreach ($pdo->query('select * from reserv where id >= 9') as $row) { if ($i >= 8) { break; } else if ($row['count']==0) { echo '<p><label for="',$row['id'],'" class="label2">×</label></p>'; $i++; }else { echo '<p><input class="checkbox" type="checkbox" name="counter" value="', $row['id'], '" id="', $row['id'],'"><label for="',$row['id'],'" class="label">○</label></p>' ; $i++; } }

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。