環境
PHP 5.6
MySQL 5.7
Laravel 5.1
CentOS
実現したいこと
お世話になっております。
現在、簡単なWebサイトをPHPのLaravelというフレームワークを使って開発しております。
View側のコード 'Laravel'/resources/views/'sample'/index.blade.php
は現在以下の様になっています。
php
1 @foreach ($datas as $data) 2 <div class="card mb-2"> 3 <div class="card-body"> 4 <h4 class="card-title">{{ $data->id }}</h4> 5 <h6 class="card-subtitle mb-2 text-muted">{{ $data->name }}</h6> 6 </div> 7 </div> 8 @endforeach
コントローラー側でデータベースの全レコードを取得して、このViewに$datasとして渡しています。
上のコードだとブラウザからアクセスした時に、データベースのテーブルに登録されている分だけ縦にidとnameがズラッと並んで表示されるのですが、これをiphoneのアプリアイコンの様なデザインに変えたいです。
もう少し具体的には、データベースのテーブルにイベントの名前を登録しておいて、さっきの画面にボタンを配置してそのボタン1つにつきイベント1つを割り当ててボタンを押したらそのイベントの詳細が別のページで表示されるイメージです。
リストのページに載せたいイベントが3つであれば、画面いっぱいの大きさに合わせたボタンが3つ。イベントが6つであれば、画面を上下に2分割して上部にボタン3つ下部にボタン3つを同じ大きさ幅で表示されるようにしたいです。
イベントはイベントリストのページでそのイベントのボタンが押されたら、開催日時や場所、内容等を別の画面に表示させたいです。
イベントの一覧の画面で、例えば 運動大会、グルメまつり、夜景スポットのようなイベント名が書かれたボタンが並んでいて、そこを押したら別のイベント詳細ページで具体的な情報が表示されるイメージです。
このイベント一覧に表示させたいイベントの数(ボタンの数)が結構な頻度で変わるので、その変更が来る度に画面の余白などのレイアウトを修正していたら時間がかかってしまうので、何とかイベントの数に応じてボタンの大きさなどが数に応じて変わる様な処理を書きたいです。
質問が分かり辛いかもしれませんが、お力を貸して下さい。
よろしくおねがいします。