6:55 2023/09/10
おはようございます。
さあ今日です。
画像投稿に使用するテーブルのカラムを書き換えた。
テーブルには必ず、主キーが存在しないといけないのか。
存在していないと怒られた。
とりあえず、OK
書き換えた状態で、新しくテスト投稿した結果、
うまくいくことを確認
よかった。まずは一安心。
7:37 2023/09/10
11:30 2023/09/10
そのユーザが持っている投稿と、各投稿に紐づいている画像を取得する。
やっぱりユーザidあった方がいいんじゃないの。
12:25 2023/09/10
16:50 2023/09/10
まずは、DBのカラムをいろいろいじったので、記事投稿機能から完成させよう
投稿機能はおそらくOK
次は、そのユーザの各投稿が所有している画像を持ってくる必要がある。
どういう処理がいいのだろうか。
まずプロフィールに行くと、
ユーザidで投稿テーブルをひっかけるから、
それに紐づく、記事idも持ってこれる。
んーー。なかなかまとまらんな。
今困っているのは、プロフィール画面に表示する画像をどうやって持ってくるか問題。
プロフィールに遷移する。
->ユーザの情報をもらってくる。
->その情報を元に2つの配列をDBから取得してきたものを元に作成する。
->1つは記事とユーザをjoinしたもの->こっちはできてる。
->1つは記事と画像をjoinしたもの。->こっちができてない。
なぜ。
ああ、記事と画像をくっつけたものをさらにその表示されてる、ユーザのidでwhereかければいいのか。
やってみるか。
ビンゴ。
できた。
これなら確かに、いたるところにユーザのidをテーブルに仕込まなくてもいいね。
今知ったけど、SQLのSELECTで持ってくるカラム名の中に
入ってないカラム名でwhereかけても引っかかるんだね。
べんきょうになりました。
祝。
念願のプロフィール画面、表示成功。
だーーー。
疲れた。
自作のdebug関数を適当に作った。
static手なんだっけ。
クラスをインスタンス化しなくても、それが使える。
public staticとなれば、
どこかでそのもとクラス.phpをincludeしとけば、
そのicludeしたファイル内で、
classname::hogehogeができる。
19:20 2023/09/10
20:12 2023/09/10
さっきのデバッグ関数をやろう。
とその前に、タイピング練習でもしようか。
これは一大事。
タイピングもやらないと。
さておき、本題。
何をすればいいかわからない。
投稿編集の機能をいじる。
何も画像をアップロードしていない場合、どのように処理するか。
画像を複数枚アップロードできるフォームを作成すると、
php側($_FILES)にも、当然複数届く。
どういうことかというと、
array(1) {
["up_image"]=>
array(6) {
["name"]=>
array(3) {
[0]=>
string(0) ""
[1]=>
string(0) ""
[2]=>
string(0) ""
・・・
とくる。
ファイルがアップロードされたフォームにのみ取り出して、
$_FILESを新しい配列に作り直さないとダメそう。
なんか、このフォームからアップロードされていたら、みたいな
if文とかphpの関数はないのかね。
ひとまず、投稿編集機能以外はいったんできたのかな。
自分は何がしたい。
その言語化をまずしよう。
というかやりたい処理を他で書いていた。
これをそのまま流用できるのでは。
やってみるか。
たぶん行ける。これで。
明日は、画像を入れるところからか。
差し替えをやろう。
今日はこれで終了。
23:01 2023/09/10