2020 ソフトウェア設計及び演習用の班Wiki

20::gr10::MySQL

※XAMPP(ザンプ)でApache、MariaDB(MySQL)、PHP等の必要なものまとめてインストール
※phpファイルを開くためにはhttp://localhost/○○.phpでサーバを経由!開く前にApacheとMySQLも起動しておく
※コマンドプロンプトでちまちまコマンド打たなくてもphpMyAdminで見やすい、管理しやすい
※某先生によればソケット通信使うと良いとのことだったが結局使ってない
※データベース名:php_tools テーブル名:memo データ構造:下の画像
構造.png

進捗

new_memo.php
  • ブラウザからデータベース内のテーブルにアクセスしてレコードを追加できる
  • 最初はタグはまとめて指定文字数内ならいくつでも入れられるようにしていたが上限3つで1つずつ分割
  • 手元にあった中間発表時のトップページの新規作成ボタンからサブウィンドウの立ち上がり画面に指定
  • サンプルコード見つけてからは楽だった
  • (スクショの新規メモ作成誤字ってますね) 3新規フォーム.png
    4メモ入力.png
    6追加されたよ.png
memo_contents.php
  • 保存されているテーブルの中身を表示、ボタンから編集内容の更新と削除が可能
  • サンプルコードだとメモ作成と同じ画面内に表示されていたので分裂させて画面遷移するようにしたけどめちゃくちゃ時間かかった
  • 色選択がチェックボックスだったのをラジオボタンに修正、保存される要素にcolorを追加(new_memo.phpも)、これを文字列としてカレンダーで読み込めれば色変わるんじゃないだろうか 中身.png
    色選択.png
    色保存.png
memotable.php(table.css読み込み)
  • テーブルを一覧表示、必要な要素だけをタイトルバーとして見える形に
  • タイトル部分をリンク化して詳細表示に飛びたかったがやり方がわからないし渡さなきゃいけないもの多いので詳細ボタン付けた→リンク化は無かったことにして確実に動作する詳細ボタンだけにした
  • とりあえず検索フォームくっつけた(中間トップページにも入れてみたけど位置調整できてない)
  • 全然違うサイト二つのサンプルコードを参考になんか上手いことそれっぽいものできたがなんかcssの反映が遅い
  • 詳細ボタンからサブウィンドウが起動するようにした(トップページから新規作成画面立ち上げに使ってる関数を使用するつもりが、同じような書き方をするとデータの送信ができなかったしボタンがフォーム状になったりしたので直接別の書き方で立ち上げている)
  • 詳細ボタンがある検索結果表示の方も同じ形に書き換えた(両方書き換えるならここも関数化した方が楽なのでは?→試したけどできなかった)
  • 詳細ボタンをフリーのアイコン画像に置き換え(result.phpも)、ついでにthead部分の色とかちょっといじったけどよしのに任せてる範囲なのであんま関係ないな
  • カレンダーに渡す用のカラーコードを使って見た目上のフラグ的な図形を用意。Cervesとか試したけどjs部分が動かなかったので色々試したらcss+1行のhtmlでできちゃって格闘した時間はなんだったのか。
    詳細ボタン.png
    詳細画面サブウィンドウ.png
    アイコン化.png
    フラグ図形.png
     ↑色要素反映のやつ、統合後にちょっと前段階のプログラムでスクショしたのでデザインの時系列に歪みが。
result.php(table.css読み込み)
  • 検索フォームで入力した文字列を結果ページに送信して検索結果表示
  • あいまい検索可能、日付検索は年、月、日のうち1つなら普通に数字入力でいいけど複数のときは-入れなきゃいけないの面倒かな
  • 絞り込みとかつけたいけど普通に検索できるようにするだけでも大変だったので気力が沸き次第
  • テーブルにないワードで検索するとエラーメッセージが表示されてしまう状態だったのでエラーが出てた配列の空判定を入れてメッセージ表示されるように修正。 検索フォーム入力.png
    検索結果.png
today_memo.php
  • トップページに置くようのメモテーブル。本当はカレンダーから日付受け取ってその日のメモ出るようにしたかったけど画面遷移なしで表示できるものを用意しないといけないっぽいので作った。
  • date("Y-m-d")使って色々格闘したのに機能自体はnow()でよかった。なんだよ。あと日本時間取得する必要があった。
    today.png
    これも統合後のデザイン混ざってる

今後

  • 新規作成と詳細表示をcssで整えたい(今は文字数に応じて適当なサイズの入力フォームが勝手にできてる)→おとはにやってもらう
    • 完了
  • データベース読み込みとか被ってるので分けたいけどいろんなサンプルコード参考にしてたら微妙に書き方違ったりしてるので全部で辻褄合わせるの面倒かも
    • なんかできなかったからやめよう
  • カレンダーとの連動(○月○日の予定 一覧)
  • 削除ボタン押したらサブウィンドウ消えてほしいしついでに一覧表示(検索結果)の画面が更新されてほしい
    • 意外と難しい
  • デザインに拘るなら詳細ボタンをできればアイコンにしたい
    • 完了
  • 今日のメモの位置をカレンダーから日付受け取ったら画面遷移でその日のメモテーブルのページに遷移したい。見た目上はトップページだけど画面遷移すれば検索の方式で動かせるんじゃないのか。(カレンダーから受け取れ次第)

妥協

  • 新規作成・編集画面/詳細表示 の予定だったけど呼び出しとかの関係上 新規作成/編集・詳細 で分ける。
  • タイトルのリンク化はよくわからんので詳細ボタンで中身呼び出し

班トップ


最終更新日:2020/08/15 00:09:10