そよ風情報局 -初心者プログラマが独学で試行錯誤-

Webエンジニア目指して勉強中の初心者が、苦労したことや学んだ言語について書いてます。たまにゲームのことも。

プログラミング

何とか完成!

更新日:



ぼくが作ったWebアプリケーション第一号

であるスケジューラが何とか完成しました!!
完成といいつつもまだ編集機能は作ってないです(

でも予定の入力・確認・削除はできるようにはなってるよ!

前回からDBいじるところをずっとやってたんですが、とても苦労しました。。。

DBはXAMPP標準のSQLを使ってます。

PHPでDBいじるときはPDOなるものを使って行うんですが、ここんところの詳細は割愛。

ちなみに今回やろうとしたことは、削除ボタンを押すと消したい日付とIDを元にDBを検索してその行を削除、です。

削除の条件が日付(年月日)とIDの合計4つなんですが、検索しても複数条件で削除って記事は見当たらなかったので少し困りました。。。
(条件1つであればいっぱい出てくるんですけどね)

ちなみに条件1つの場合はこれ

$sql = "delete from テーブル名 where id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(":id"=>$id);

$pdoってのは一番最初にDBへアクセスするときに使うやつです。

これで$idに格納された値を元にDBのidにマッチするものを削除できます。
ここまでは探せばいっぱい出てきます。

では条件を複数使う場合はどうするかと言うとこうです!

$sql = "delete from テーブル名 where id = :id and
year = :year and month = :month and day = :day";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(":id" => $id, ":year" => $year ,
":month" => $month, ":day" => $day);

わぁ簡単!
ひたすら条件をANDでつないだだけです!!(
すごいきったないけど、一応これでちゃんと動きました。
多分もっとスマートな方法あるんだろうなーと思いつつも動けばいいかとw

でもこれ最初造ったときうまく動かなくてすごく困ってたんですよね(´・ω・`)
この書き方で動かなかったからarrayを外に出したりbindParamsを使ってみたりといろいろ試したんだけどダメで、結局もう一回この書き方したら動いたという謎なことがw
多分どこかスペルミスとかしてたんだろうなーと思いつつも間違いが見つけられず断念\(^o^)/

まぁ結果的に動いてたらいいでしょ!(

これで削除機能もできたので後は編集機能だけです。
またこれも時間かかるかもなので、とりあえずここまでで一度公開してみようかなと思ってます。
でもそのためには公開用サーバでDB準備して、そのDBに合わせてまた書き換えないと・・・

あとなによりログインページがまだ公開用サーバに合わせたもの作ってないです\(^o^)/
その上サービス公開するなら複数人が使えるようにしないといけないんで、マイページを作らないと・・・

多分マイページってユーザ登録するタイミングでDB上にその人用のテーブル作って、そこに対して操作するようにすればいいんだろうなと考えてます。
そんな難しくはなさそうだし、素直にできるといいなあ・・・

そんな訳で明日からは公開用にいろいろと始めることにします。







-プログラミング
-, ,

Copyright© そよ風情報局 -初心者プログラマが独学で試行錯誤- , 2018 All Rights Reserved Powered by STINGER.