• ベストアンサー

MySQL+PHP を使用した在庫管理

会社で在庫管理システムを作ることになり、開発環境に Windows+Apache+MySQL+PHPを使用しています。 しかし、いきなり在庫数の管理をする所でつまづきました。分からない点は以下の通りです。 1. 出荷があった場合、在庫数を減らす 2. 出荷の履歴を残す 3. 在庫が0の場合は出荷できないようにする 以上の問題点を解決できるような書籍やホームページを探しているのですが、見つけることができません。 どなたかご教授いただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#33971
noname#33971
回答No.2

どのような仕様になっているかわからないのですが以下を参考に 1、出荷した物の在庫データを更新すればよい 2、履歴用のテーブル又はテキストファイルを作りそこに残しておく 3、在庫が0の物は別のテーブルで管理しておく SQLやファイル処理を利用すれば大丈夫です

th-terra
質問者

お礼

3つの項目とも、大変参考になりました。 ありがとうございます。 実際にどうすれば良いのか分かりませんが、出荷すると自動的に在庫数が更新されるには具体的にどういったプロセスを踏むのかをご教授いただけると助かります。 履歴用のテーブルを作る方法についても具体的な内容をご教授くださると嬉しいです。 頭で考えると簡単な事なのですが、実際にプログラムを組むとなると難しいです……。

その他の回答 (5)

  • JAWS55
  • ベストアンサー率38% (176/452)
回答No.6

書籍より、osCommerceやZendなどのオープンソースのWebショップのソースを眺めて、どのような処理をしているのか研究してみては? あるいは、書籍でもサンプルで簡単なWebショップのソースが付いているものがありました。(今手元にないので書名は不明) amazonででも探してみてください。

  • JAWS55
  • ベストアンサー率38% (176/452)
回答No.5

自動的に在庫が減ったり、履歴が残るわけではありません。 プログラムでデータベースを更新していく必要があります。 その商品の在庫数をDBから読み込む。 新在庫数=在庫数-出荷数の計算をする。 もし新在庫数が0より小さければ => 出荷不能の処理 日時、商品コード、出荷先、出荷数などの必要な履歴データを履歴テーブルに追加する。 新在庫数を商品の在庫数に書き戻す。 をプログラムとSQLで記述していきます。

th-terra
質問者

お礼

詳しいご意見ありがとうございます。 頭では想像できるのですが、実際にどうコーディングすれば良いのか検討がつきません。出荷をすると自動的に履歴として残したいですし、在庫が0ならば出荷できないようにする。 何か参考になる書籍は無いでしょうか?

noname#33971
noname#33971
回答No.4

>この「商品が売れる」動作と「商品を出荷する」という動作は同一と考えて良いですよね……? 似たようなものだと思います。 ショッピングカートシステムも商品が売れれば在庫は減りますから

th-terra
質問者

お礼

そうですよね。 ここの機能だけ組むことができれば良いのですが。

noname#33971
noname#33971
回答No.3

No.2からです。 >出荷すると自動的に在庫数が更新されるには具体的にどういったプロセスを踏むのか 自動的には難しいのではないでしょうか?今の僕では思いつきません 流れ的には、 その日1日の出荷履歴を見る     ↓ 履歴から在庫数を引く     ↓ 在庫数を引いて 1.「0になったら在庫無し用のテーブルに移動」 2、「マイナスになったら発注用のテーブルに移動」 こんな感じだと思います。 実際にはどのようなDB設計をしているのかわからないので僕なりの考えです。 >履歴用のテーブルを作る方法についても具体的な内容 最低限必要な項目は「出荷した日付」と「商品名もしくはコードされているならコード名」と「個数」だと思います。 これが絶対ではないので参考程度に見てください

th-terra
質問者

補足

大変参考になりました。 ありがとうございます。 例えば大抵のショッピングカートシステム等では、商品が売れると在庫数が自動的に減り、履歴も残るような動作をそのままもってきたいと考えています。 この「商品が売れる」動作と「商品を出荷する」という動作は同一と考えて良いですよね……?

  • maguro999
  • ベストアンサー率21% (59/273)
回答No.1

1. 在庫のデータを更新する。 2. ログ用のテーブルを用意してログをいれていく。 or ログをテキスト形式で出力する。 3. 在庫が0だったら品切れになる処理をする。 >以上の問題点を解決できるような書籍やホームページを探しているのですが、見つけることができません。 基本過ぎてそれだけに特化しているWebページや本があるとは思えません。 SQLの基本中の基本だけできます。 これができないようだと自分で構築はあきらめて 外部に外注に出すことをすすめます。

th-terra
質問者

お礼

基本中の基本なんですね……。 それぞれの項目についてはすべき作業が分かりました。 ありがとうございます。 簡易日記ソフトや掲示板等のサンプルを載せている書籍はよく見かけるのですが、なぜか在庫管理のような業務管理を行うサンプルを見かけません。

関連するQ&A

  • MySQLとPHPがつながりません。

    MySQL5.1 Apache2.0 PHP5.2.4をインストールしたのですが、MySQLとPHPがつながりません。 phpinfoを見ても、libxmlとodbcの間に本来あるべきMySQLがありません。 C:\WINDOWS\php.iniにある、 extension=php_mysql.dll extension=php_mysqli.dll のセミコロンは外しています。 php5ts.dllはC:\WINDOWSに、libmysql.dllはC:\System32とC:\Apache2\binにコピー済みです。 php_mysql.dllやphp_mysqli.dllもコピー済みです。 それでも反映されず、やけくそで各フォルダに全種類dllをコピーしたりもしましたがやはり反映されません。 そして、この状態でWEB上からPHPにアクセスすると、 Fatal error: Call to undefined function mysql_pconnect() in C:\Apache2\htdocs\include\setup.php on line 7 というメッセージのサイトが出てきます。 恐らくphpinfoにMySQLが反映されれば解決すると思うのですが、どのようにすれば良いのでしょうか。 どなたか宜しくお願いします。

    • ベストアンサー
    • MySQL
  • solaris10にapache、mysql、phpを入れたいと思います。

    検証のためにsolaris10にapache、mysql、phpをインストールした環境を用意しなくてはならなくなりました。 linuxもそれほど触ったことがなく不安なのですが、わかりやすく書いてある書籍やホームページなどありましたら教えて頂けないでしょうか。 よろしくお願いします!!

  • 費用は?(在庫管理システム)

    会社で新規事業提案を募っており、私は通販事業を提出する予定です。 提案に当たって、5ヶ年収支計画の提出が求められるのですが、システム開発費 のおおざっぱな費用が知りたいのです。システムに含むめるものは、 顧客情報・未収管理、在庫管理、仕入先支払関連です。(在庫量MAX12000個、出荷数23000個/年、取引先100社、取扱い商品数700点、総売上3億、お客様数?万) システムのハード部分の費用についても、情報のご提供お願いいたします。 (やはり、大きなHOSTが必要なのでしょうか?)

  • MySQLとPHPの連携がうまくいかない

     プログラマ初心者ですが、以下の質問があります。  PHPからMySQLへの接続がうまくいかなくて困っています。  まず、使っているバージョンは以下の通りです。  MySQL 5.0.27  PHP 5.2.0  Apache 2.2.3  Windows XP Profesional  そして、エラーメッセージは以下のとおりです。  Fatal error: Call to undefined function mysql_connect() in C:\Usr\Apache\htdocs\db0.php on line 6  各サイトで解説されている以下の設定はすべて行いましたが、それでもできないようです。  ・Windowsフォルダにphp.iniをコピーする。  ・php_mysql.dll、php_mysqli.dll、libmysql.dllをsystem32にコピーする。  ・iniファイルにextension_dir=C:\php5\extとセットする。  ・iniファイルのextension=php_mysql.dll、extension=php_mysqli.dllのセミコロンをはずす。  他の方の解決策は以下のどれかが抜けていたというようなものらしいですが、私の場合はどれも抜けていないのに駄目だという状態です。  MySQL、Apacheは正常に動いています。(関係ないかもしれませんが、PerlとMySQLの連携は問題なく動いています)  どなたか解決策がわかる方は教えてください。

    • ベストアンサー
    • MySQL
  • PHPとMySQLを使った社内研修を実施しようと思っているのですが・・・

    今年度の新入社員用の研修として PHPとMySQLを使用してシステムを作成してもらおうと 思っています。 具体的には ローカル環境で動く勤怠管理システムを 作ってもらおうと思っています。 機能は単純なもので、 ・ログイン機能 ・出社時間と退社時間の入力 ・1ヶ月単位での勤怠情報の表示 などなどを予定しています。 研修に使用するマシンは OSがWindows2000を複数台程度で考えています。 前勉強として http://phpspot.net/php/ を参考にさせていただいた上で お尋ねしたいことがございまして、 1.開発環境を構築するにはXAMPPをインストールするだけでよいのか。 2.PHP&MySQLを使用した勤怠管理システムを構築するにあたり  参考になる書籍はないか。 以上2点についてどなたかお答え願えないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでMySQLに接続失敗

    Apache_2.0.55 php-5.1.2-win32 mysql-5.0.21-win32 windows XP HOME Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\sample\smp01.php on line 9 とエラーがでました。 以下の設定しているのですが、このようなエラーがでました PHPとApacheのテストは成功しています mysqlコマンドラインツールの起動・操作もできました mysqlのパスワードは設定はしていません PHPのスクリプトは実行できるのですが PHPとMySQLの接続がうまくいきません 色々と、調べているのですが原因がわかりません 初心者です、どうぞ宜しくお願いします 1 <?php 2 3 $DBSERVER = "localhost"; //MySQLサーバー名 4 $DBUSER = "root"; //ログインユーザー名 5 $DBPASSWORD = ""; //パスワード 6 $DBNAME = "sampledb"; //データベース名 7  8 //MySQLに接続します 9 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); libmysql.dllをC:\WINDOWS\system32にコピー PHP.iniファイルでextension=php_mysql.dllをコメントから復帰 Apacheを再起動

    • ベストアンサー
    • MySQL
  • MySQLを認識していない?

    Windows Vistaで apache2.0.61 + PHP5.2.4 + MySQL5.0.14 でシステム構築をしています。 書籍は、 「PHP5.0 + MySQL5.0 で構築する最速Webシステム」を参考にしています。 その中で、PHPの設定を以下のように行いました。 ・「php5ts.dll」を「C:\Windows\System32」にコピー ・「libmysql.dll」を「C:\Windows\System32」にコピー ・「php.ini-dist」を「php.ini」にリネームして「C:\Windows」にコピー ・「php.ini」の編集  1.拡張モジュールを置くフォルダを指定    extension_dir = "C:/php5/ext"  2.PHPからMySQLを利用するための設定    extension=php_mysql.dll(先頭の;を削除) それぞれ単体では動作確認が取れているのですが、 ・apache(http://localhost/で動作確認) ・PHP( phpinfo() でパラメータ表示) ・MySQL(コマンド入力で確認) MyAdmin をインストールして、 http://localhost/phpmyadmin/ にアクセスすると、 「mysql 拡張をロードできません。PHP の設定を確認してください」 とエラー表示されます。 また、 書籍に付随しているDB読み込みサンプルを実行すると、 「Fatal error: Call to undefined function mysql_connect() in C:\Apache2\htdocs\photolib\regdatelist.php on line 10」 とエラー表示されます。 2つのエラーの内容は、MySQLを認識していないということだと思うのですが、 (PHP5ではMySQLが標準ではハンドルされていないので) 「php.ini」でその設定はしているハズです。 また、過去ログ(QNo.3173055)の回答で、 「phpinfoで、Configuration File (php.ini) Pathのパスは正しいですか? また、extension_dirのパスはどうなっていますか?」 とありましたが、これらのパスはどうやって確認すればよいのでしょうか? どこが悪いのか分りません。 何方か、アドバイスをお願いいたします。

    • ベストアンサー
    • MySQL
  • Linux Apache MySQL PHP (LAMP)

    今までWindows+Apache+MySQL+PHPの環境で作業をしていたのですが、 別のPCにLinuxをインストールしたので、そちらでもApache+MySQL+PHPをインストールしようと思いました。 ですが、Linuxを触るのは初めてなので、インストール方法やApache+PHPの関連付けの仕方などがサッパリわかりません。 どこか詳しく解説しているサイトなどはないでしょうか? 環境 Linux Fedora Core 5 Apache 2.0.59 (予定) PHP 5.1.6 (予定) MySQL 5.0 (予定) どなたかよろしくお願いします。

    • 締切済み
    • PHP
  • 在庫管理のためのソフトを探しています。数点の部品を

    在庫管理のためのソフトを探しています。数点の部品を組み込み自社ロット番号を付けて出荷します。数点の部品はそれぞれ受け入れ検査を行い自社在庫とします。お客様より注文が来てから部品を組み込みロット番号を付け出荷するのですが、ロット番号から使用した部品が分かり、もちろん部品の在庫数も把握できる手ごろなPCソフトを探しております。 部品や製品の単価などは必要なくシンプルに製品や部品の入出庫数を管理したいと思っております。何か手頃なものがあればぜひ教えてください。宜しくお願いします。 

  • 在庫管理について質問です。

    こちらでは初投稿になります。宜しく御願いします。 在庫管理について質問です。 私は、物流部門で出荷を担当しているのですが、先日、物流倉庫内の在庫管理を任されるようになりました。 一般的に在庫管理とは、ABCランクに分けた商品群に安全在庫を設定し、発注点や回転率など計算して行う?(私の勝手な解釈です。間違っていたらスイマセン)ものだと思うのですが、上司からは、『現場内の在庫だけを2週間分の数量を持つ様にせよ』と指示がありました。 色々とネット等で調べてみたのですが、素人なもので理解できない事がたくさんあります。 以下の条件で本当に在庫量が正しく計算されるのか御教授して頂けないでしょうか? サンプルデータとして1年分の出荷データから総出荷数・日平均出荷量・MAX出荷量・標準偏差・安全係数 99.9%・リードタイム12日(2週間分の在庫を確保しないといけないので稼働日数で2週間 12日間?としました) と、ここまでのデータで安全在庫を算出したのですが、この時の安全在庫とは2週間分の在庫量となるのでしょうか? それとも、参考資料を拝見した時にあった、日平均出荷量×12日+安全在庫=発注点(適正在庫量?)となるのでしょうか? 入庫までのリードタイムを考えない現場在庫として考えなければならないので、いまいち解りません。 そもそも、この考え方自体が間違いなのでしょうか? 何方か、わかり易く教えて下さい。

専門家に質問してみよう