2020年5月26日(火)作業過程と気づきメモ

役に立たないかもしれないけど役に立つかもしれないメモ

 以下の文章の編集方法

workflowyで随時入力 → 翌日Evernoteに転記(firefoxでworkflowyのexportでコピペ(なぜかchromeのコピペでは階層が反映されない)) → はてなブログにコピペ(編集)

  • (ブログ)作業過程と気づきメモ
    • 2020年5月25日(月)作業過程と気づきメモ
      • 予約投稿 2020/5/28 6:00:00
  • Webアプリの作成(tw_001)
    • 一覧部分をページングしようと思ったが、30件程度ならしなくてもいいと思ったので、しないことにした。
    • テーブル内で変換用のフラグを用意していたが、必要ないと思うので削除。
    • まとめて検索した場合、ログイン画面が表示されてしまった。なぜだかわからないが、一気にやるとログアウトするのかもしれない。とりあえずは、この処理はログイン対象外にしてみる。
    • 対象外にしたが、セッションはきれてしまった。index.phpの先頭にセッション関連の指定があるので、上記のログイン対象外の下で宣言してみる。
      • ログイン画面にならなくなって、よかった!
    • 「全件検索」は、30件まとめてブラウザを開くのはちょっと負担に思えるので、10件ずつにしようと思った。ただし、「10件」の指定は、プログラムで変更可能。
    • 検索の一覧表示は、srch_dtの日付が現在より1日古いものを対象にする。その場合のMySQLの対応を調べた
    • 1日古いものであると、たとえば翌日は22時間後にチェックすると、表示されない。ということで、12時間前のものを表示することにした。
    • srch_dtがNULLだと、日付の比較でエラーとなった。検索は12時間前のデータを表示しているので、登録時、srch_dtは1日前にしておく。
    • 一覧表示は、タイトルだけにする。そのかわり、内容がわかるようなタイトルにする。
    • 一覧表示で、srch_dtの日付を比較し、12時間前であれば、検索対象ボタンを有効にする。
    • PHPの日付比較
    • 検索対象ボタンを無効(disabled)にした場合、通常のボタンと見分けがつきにくいので、文字をsilverにした。
    • 検索対象ボタンを押すと、すぐに反映される。日付処理→一覧表示。
    • JavaScriptで複数ブラウザを開いた場合、srch_dtは更新される。その情報を反映してから検索一覧は再表示したほうがいいので、JavaScriptで3秒後に再表示としてみる。
    • ブラウザを開くと同時に、「消込」をする。ようするに、今回検索した分は、次回検索分の一覧に表示されない、ということ。ただし、なにもしなければ1日後に表示される。「一覧」画面からは、1項目単位でリセットできる機能をつける。
    • まとめて検索は、5件にする。1件ずつよりはましで、10件ほどはいらない。
    • 削除する場合は、confirmする
    • 入力チェック
      • タイトルはvarchar(50)
        • アルファベットだけなら、50文字。それを見越して、input分のmaxlengthは50。
        • ただ、日本語も1文字として扱うので、input内では日本語も50文字はいってしまう。
        • ただし、バイト数は50バイト以上となるので、バイトチェックが必要。
      • 検索文字列もvarchar(50)
        • タイトルと同様にバイトチェックする。
      • PHPで文字列のバイト数をチェック
      • 全角文字が3バイトなので、タイトルと検索文字列は50バイトは中途半端。60バイトに変更。
      • そもそも、アルファベットだけで60文字はいれないだろうし、全角20文字であれば、なにかはわかるだろう。
      • ということで、inputタグのsizeは60と長めにするが、maxlengthは20にする。エラーチェックなしとする。
    • 訂正画面で、コピーボタンを追加。コピーボタンをクリックすると、訂正内容と同じデータが表示されるが、登録データとなる。
    • 検索文字列をmaxlength=20にしたが、変換文字列がはいらなかった。
      • 例)#おはよう戦隊%%y%%%%m%%%%d
        • ※うしろに「%%」が必要