ロト6

【41歳学習中_オリジナル】ロト6を当てたいサイト!#2 当選番号一覧表示編

GWに行った2回のキャンプにより勉強が全くできなかった。

その期間は12日間。

いざ、プログラミングをしようと思ったら、かなり忘れていて初日は捗らなかった。

やっぱり、勉強は毎日することが大事ですね♪

前回はLOTO6の結果のデータベースを作成したので、今回はデータベースの結果をブラウザで確認できるようにしたいと思います!

目標としている機能

  • 【未完】入力した数字が過去に当たっているか検索できる
  • 【未完】当たっている場合は、抽選日、第何回、何等、当選金額を一覧表示する
  • 【未完】当たっていない場合は、残念風なコメントを表示させる

5月15日までに「やること」

  • 【完成】データベース作成
  • 当選しているかロジック作成
  • 表示画面作成(検索、結果) ←今回はココ

LOTO6結果一覧を作成する!

データベースから取得したLOTO6の結果をブラウザに一覧表示したいと思います。

ざっくりとした流れ

  • コントローラー(controller)を作成する
  • ビュー(view)を作成する
  • ルート(route)を作成する

コントローラー(controller)を作成する

コマンドにより「loto6_result_Controller」を作成する。

php artisan make:controller loto6_result_Controller

ソース

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

// start
use Illuminate\Support\Facades\DB;
// end

class loto6_result_Controller extends Controller
{
    public function index() {
        // loto6_resultsテーブルからすべてのデータを取得し、変数$loto6_resultsに代入する
        $loto6_results = DB::table('loto6_results')->get();

        // 変数$loto6_resultsをloto6_results/index.blade.phpファイルに渡す
        return view('loto6_results.index', compact('loto6_results'));
    } 
}

ビュー(view)を作成する

loto6_resultsフォルダに「index.blade.php」を作成した。

<!DOCTYPE html>
 <html lang="ja">
 
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>loto6_results</title>
 </head>
 
 <body>
     <table>
         <tr>
            <th>times</th>
            <th>date</th>
            <th>number_1</th>
            <th>number_2</th>
            <th>number_3</th>
            <th>number_4</th>
            <th>number_5</th>
            <th>number_6</th>
            <th>number_sp</th>
            <th>1st_count</th>
            <th>2nd_count</th>
            <th>3rd_count</th>
            <th>4th_count</th>
            <th>5th_count</th>
            <th>1st_money</th>
            <th>2nd_money</th>
            <th>3rd_money</th>
            <th>4th_money</th>
            <th>5th_money</th>
            <th>carryover</th>
         </tr>
         @foreach($loto6_results as $loto6_result)
             <tr>
                <td>{{ $loto6_result->times }}</td>
                <td>{{ $loto6_result->date }}</td>
                <td>{{ $loto6_result->number_1 }}</td>
                <td>{{ $loto6_result->number_2 }}</td>
                <td>{{ $loto6_result->number_3 }}</td>
                <td>{{ $loto6_result->number_4 }}</td>
                <td>{{ $loto6_result->number_5 }}</td>
                <td>{{ $loto6_result->number_6 }}</td>
                <td>{{ $loto6_result->number_sp }}</td>
                <td>{{ $loto6_result->count_1st }}</td>
                <td>{{ $loto6_result->count_2nd }}</td>
                <td>{{ $loto6_result->count_3rd }}</td>
                <td>{{ $loto6_result->count_4th }}</td>
                <td>{{ $loto6_result->count_5th }}</td>
                <td>{{ $loto6_result->money_1st }}</td>
                <td>{{ $loto6_result->money_2nd }}</td>
                <td>{{ $loto6_result->money_3rd }}</td>
                <td>{{ $loto6_result->money_4th }}</td>
                <td>{{ $loto6_result->money_5th }}</td>
                <td>{{ $loto6_result->carryover }}</td>
             </tr>            
         @endforeach       
     </table>
 </body>
 
 </html>

ルート(route)を作成する

<?php

use Illuminate\Support\Facades\Route;

// start 
use App\Http\Controllers\loto6_result_Controller;
// end

Route::get('/', function () {
    return view('welcome');
});

Route::get('/loto6_results', [loto6_result_Controller::class, 'index']);

エラー記録

ルート:コントローラーのuse宣言がなかった

ム、エラーが…

routeのweb.phpにuse宣言を追加

コントローラー:データベース取得用に定義した変数が間違っていた

ム、エラーが…

確かに$loto6_resultsを定義していなかった…

赤枠を「$loto6_results」に修正

ビュー:変数の最初の文字を数字にしてしまった

ム、エラーが…

index.blade.phpに問題があった。

なんと、変数1文字目は「数字」や「_以外の記号」はNGらしい…

データベース:カラム名とビューで定義した変数名が不一致だった

ム、エラーが…

恐らく直前のエラー対策で変数名を変更したことで、テーブルのカラム名と不一致になったの原因と思われる。

カラムの一つをビューで定義した変数名に合わせて変更した。

エラー一が45行から46行に進んだので、先ほどの修正で良いと思われる。

完成

お、結果が表示されたよ!
見づらい!

感想

振り返ってみると大したことはしていないが、かなりのエラーを出しながら目的の一覧表示を作成することができた。

テキスト以外でデータベースから取得したデータをブラウザ表示させるプログラミングは、初めてだったので作成できたことは嬉しい。

でも、かなり見づらいので次はcssで少し見栄え良くしたいと思います。

  • この記事は東京在住の若干雨キャンパーが書きました

ame-sun

1982年生まれ東京都板橋区在住。

キャンプの日は雨が多い気がする。
あ、長男が2014年の大雪の日に生まれてからかも…
お宮参り、お食い初め、GWの旅行、ディズニーランドも…
キャンプ場に到着すると雨が降ってくる…

でも、運命だ。私は若干雨キャンパーでいく!

2021年からブログを始め、細く長く楽しみながら書いていきます。
どうぞ宜しくお願い致します( ̄へ ̄;)ゞ

■こんなブログです
キャンプ場+@(景色、温泉、川遊びなど)の紹介
キャンプ場リスト
高速IC(インターチェンジ)の周辺情報
 (同じIC周辺を都度調べてたので記事にしてみました♪)
キャンプ道具の紹介
子供と行ける遊び場の紹介 など

■キャンプ回数
 2022年 11回

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

-ロト6