WEB制作をしている者です。PHP・Mysql経験は1年未満です。


現在、飲食店のホームページをPHP・Mysqlで制作しております。
それで下記のような値段表や求人の内容を変更出来る管理画面を作ることになりました。

メニュー例
サンドイッチ:400円
コーヒー:300円
Aランチ:1000円

求人例
時給:800円
待遇:交通費負担


ですが、サンドイッチ等の項目名自体も変えたい、そして項目も追加・削除出来るようにしたい場合、コード化すると良いと熟練の方にアドバイス頂いたのですが、それ以上は聞けませんでした。

コード化とは具体的にはどのようにするのでしょうか。

SQL文も調べながら書き、クラスの作り方も最近覚えたばかりのレベルなのですが、職場に聞ける方もおらず今回ご質問させて頂きました。

具体的なスクリプトや考え方が見れるサイトなど教えて頂けますと幸いです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/10/04 01:17:18

ベストアンサー

id:australiagc No.1

回答回数467ベストアンサー獲得回数90

PHPとMySQLができるということは、PHPからデータベースに接続して、
クエリやプロセジャを実行することは既にできるという前提で良いでしょうか?

であればインターフェイスの構築は好みですが、個人的にはjqueryのdataTableが好きです。
http://datatables.net/
http://datatables.net/release-datatables/examples/api/editable.html
http://d.hatena.ne.jp/ichhi/20110331/1301573264

2つ目のリンクにあるサンプルでは、セルをクリックするとそのまま編集ができるようになっています。

データの取得、編集、追加、削除に関しては処理用のページを別途設けajaxでコール、
編集や追加、削除の場合は、処理完了後にデータの取得を再度実行してdataTableを更新する感じです。
他にも、ソートや検索結果の表示件数の絞り込みなどが簡単に設置できます。

javascriptやjquery、ajaxがどうしても苦手と言うことであれば、
各操作をフォーム送信(POST)で行うことになると思います。
dataTableのサンプルのようなテーブルを書いて、編集・追加・削除などのボタンを設置。
編集・追加がクリックされたら、ajaxをコールするのではなくデータ入力の画面へ転送。
そこでデータを入力して送信を押すと、クエリやプロセジャが実行されるという構造ですね。

  • id:iori753
    ご回答頂きまして誠にありがとうございます。
    このJqueryの場合、項目の追加はどのように行うのでしょうか?
    追加部分は自分で作成し、ボタンを押して貰うようなかたちになってしまいますでしょうか。
  • id:iori753
    Editorを購入させて頂きました。
    インストールしてブラウザアクセスするとJsonが読込中で止まり、Jsonのパースエラーになるのですが、最初にそのような事がありましたか?
  • id:australiagc
    追加のコントロールは提供されていないので、どこかに追加ボタンを設置することになります。
    DataTableはあくまでデータの表示が主目的なので、どういった動作をさせるかはデータベース側で処理を行った後、
    DataTableを更新する際に処理されたデータを正しく提供することが鍵です。

    普通に追加フォームを設置しても良いですし、そこは好みの問題になりますね。
    僕はjQueryのDialogを使ってポップアップ的なdivの中に追加フォームを設置するのも好きですが。
    http://jqueryui.com/demos/dialog/

    いずれにせよ、追加フォームの送信ボタンはajaxコールでINSERTクエリを、
    編集ならUPDATEクエリを実行するようにしておきます。
    で、ajaxのsuccess処理の中でdataTable.fnDraw()をコールすれば、
    画面を更新せずともdataTableだけ描きなおしてくれるという仕組みです。

    Editorはちょっと分かりませんね、すみません・・・。
    Webは本業じゃないため、DWかVSしか使ったこと無いので。
    ただ、json自体はSOAPなどと違って複雑なフォーマットではないので、
    読み込んでいるjsonデータを見れば結構分かると思いますよ。
    http://ja.wikipedia.org/wiki/JavaScript_Object_Notation#.E8.A1.A8.E8.A8.98.E6.96.B9.E6.B3.95

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません