1192105371 Mookさんからコメント頂きましたところの質問です。

質問をさせて頂きました。

C:\Program Files\Apache Group\Apache2\htdocs
の中にindex.htmlやtest.phpを保存しています。LANのパソコンで閲覧できる状態です。
MySqlはユーザー名、パスワードはブランクで設定しました。

C:\Program Files\Apache Group\Apache2\htdocs\test
に作成して頂いた予算のHtmlを保存してあります。

■データベースとテーブルはMySQL Command Line ClientからSQLを投げました。
CREATE TABLE `yosan` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user_id` INT NOT NULL ,
`yosan` INT NOT NULL ,
`date` DATE NOT NULL ,
`modified` DATETIME NOT NULL ,
`created` DATETIME NOT NULL
) ENGINE = MYISAM CHARACTER SET sjis COLLATE sjis_japanese_ci;
C:\Program Files\MySQL\MySQL Server 5.0\data\mysqlの中に

dbyosan.MYI
dbyosan.MYD
dbyosan.frm
という3つのファイルが作成されました。

しかしhttp://localhost/test/test002.htmlを閲覧すると画面下のような表示がされます。
表示される内容
添付しました文章になります。

テーブルは作成されているのにDBに接続できていない。と考えるべきでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/10/15 22:59:24
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:Mook No.1

回答回数1314ベストアンサー獲得回数393

ポイント1700pt

http://q.hatena.ne.jp/1190435899 で回答したものかと思いますが、これは PHP のソースなので、ファイル名は test002.php として実行してください。


それから、コードの内容とデータベースの構造がまったく異なっているので、そのままでは動きません。

テストをするのであれば、回答で想定したテーブルを作成して必要部分(データベース情報)を変更し実行してください。

id:larkmild2 No.2

回答回数104ベストアンサー獲得回数2

ポイント27pt

mysqlの入門本を読んでみては?

id:Mook No.3

回答回数1314ベストアンサー獲得回数393

ポイント500pt

一応コメントの仕様になるように作成してみました。

予算管理システム.zipをダウンロードしてお試しください。


動かすまでが一苦労かと思いますが(もしかしたら、PHP、MySQLの設定により文字化けがあるかもしれません)、不明な点はコメントにて対応します。

管理者でログオンした場合と、入力ユーザでログオンした場合で動作が異なるので、二つのアカウントでログオンして、動作を確かめてください。


前回多くのポイントを頂いていますし、テーマ自体が面白かったので、今回はアフターサービス(笑)として作成をしましたので、今回はポイントはお気遣いなく。

気に入っていただけたら、イルカ賞でも付けていただければ、うれしいです。


まぁ、半日で作ったものなので、仕様の不足は多々あると思いますが、たたき台として使用していただければ嬉しく思います。

もし、お仕事で使用する場合は、運用を開始する前に全体の動作の概要を理解することをお勧めします。

id:saiden

取り急ぎご連絡です。これから設置します。ありがとうございます!!不明な点ありましたらコメントいたします。嬉しさでいっぱいです!

2007/10/15 13:12:23
  • id:KUROX
    >MySqlはユーザー名、パスワードはブランクで設定しま
    >した。

    どこの設定か分かりませんが、ユーザー名をブランクはありえな
    いような。(作成できないような・・)


  • id:Mook
    前回のコードを動かすためのSQLは
    ------------------------------
    CREATE TABLE yosan (
    day integer,
    price integer );
    ------------------------------
    です。

    前回多くのポイントをいただいていますので、アフターサービスとして(笑)、今回提示されたデータベースを想定した内容に合わせたコードを回答いたしますが、いくつか仕様を確認させてください。


    (1)user_id はどのようなデータが入って、どのような目的で使用するのですか?
    (2)前回のコードの表示は1ヶ月分ですが、複数月のデータの管理が必要ですか?
    (3)複数のユーザがこのデータを編集する可能性はありますか?
  • id:saiden
    すいません。質問しましたSQLは前回、回答頂いたtoyoshi さんの回答を参考にしていました。

    お言葉に甘えまして・・・もう少し詳細を申し上げますと
    支店が10店舗ありまして、各支店が毎月登録することになります。
    しかし、A支店の予算をB支店が予算を編集することはありません。
    今月は31日までありますので最終的に31×10支店=310行のデータが作成されることになります。
    (1)(3)はこのような説明で正しいでしょうか?

    (2)はそろそろ11月の予算を収集しなければなりませんので複数月のデータの管理が必要という説明になります。

    Mookさん。アフターサービスという優しさに甘えさせてください。
    実は私、これでもシステム部の社員で毎月支店からのFAXでもらった予算をIBMのAS400に登録する作業を”手”作業で行っているのでした。お恥ずかしい限りです(泣)弊社はホストをCHAINSで運用しています。

    以上が(1)~(3)の回答になります。

  • id:Mook
    AS400 ですか。
    少し調べてみましたが、特異なシステムのようですね。



    もう少し確認なのですが、今回作成しようとしているものは、最終的にどのような運用にしたいのでしょうか。

    入力(FAX?)から最終出力として何を得たいのかが、今ひとつわからないのですが、MySQL(これはどこで動いていますか?AS400上ですか?)の上でデータ編集が出来ればよいのでしょうか。
    それとも CSVなり何なりのファイルとして取り出したいですか?

    あるいは、WEB でのインタフェースを作成して、各部署に直接入力してもらうようなものを目指しているのでしょうか?

    最終的なビジョンと、今回の作業の位置づけを差しさわりのない範囲で提示いただけるとより適切な対応が出来ると思います。
  • id:saiden
    おはようございます。
    (笑)特異なシステムです。AS400は開発できる会社が少なく、開発単価は高額です。しかもいまだにキャラクターベースでの入力になります。動きは早いですが、社員からは不満だらけでございます。(笑)しかしWindowsと違いハングアップというものがないので、直近のデータが紛失することはないですね。そういう点では運用者は楽です♪

    最終的にめざす部分は、支店間は広域LANを構築しているのでWebインタフェースを作成して、各支店に直接入力、変更、削除してもらうようなものを作成したいです。

    そうするとFAXでの入力⇒Webにて入力してもらえるので私の作業がなくなります。

    MySQLをインストールした端末は支店間を結ぶ本社にあります。
    AS400内ではなく、Windows2000Server内に構築しています。Windows2000Server上でデータ編集が出来ればよいです。

    ディレクトリは
    C:\Program Files\Apache Group\Apache2\htdocs
    の中にindex.htmlやtest.phpを保存しています。LANのパソコンで閲覧(支店においても見れる)できる状態です。
    MySqlはインストールする時ユーザー名、パスワードはブランクで設定しました。
    ⇒すいません、root権限のパスワードなし。でインストールしました。

    C:\Program Files\Apache Group\Apache2\htdocs\test
    に作成して頂いた予算のHtmlを保存してあります。



    最終的にはCSVでWebインタフェースで各支店に直接入力してもらったデータを私のWindows端末にダウンロードしたいです。

    その後はCSVをAS400に私が手動で転送します。

    以上の表現になりますが、ご指摘頂ければ幸いです。

  • id:Mook
    了解しました。

    であれば、私の知識の範疇で構築できそうです。
    時々仕様の確認をしたいと思いますので、その際はコメントで確認させてください。

    各支店での入力では各ユーザでログオンをし、他の支店のデータは扱えないようにした方が良いと思いますが、それはその仕様でよいでしょうか。

    もちろん、saiden さんはすべてのデータを編集・閲覧できますが。


    それから、AS400に登録する際のデータ項目を列挙してください。
    日付、予算価格、登録者(支店名)だけでよいですか?
  • id:saiden
    早速の回答ありがとうございます。

    >各支店での入力では各ユーザでログオンをし、他の支店のデータは扱えないようにした方が良いと思いますが、それはその仕様でよいでしょうか。
    ⇒ありがとうございます。その仕様で良いです。

    AS400に登録する際のデータ項目についてです。
    ①日付
    ②予算価格
    ③登録者(支店名)
    で良いです。

    ファイル名はyosan2.csvでお願いできればと思います。

  • id:saiden
    Mookさん・・・つ・い・に・動きました。
    ご連絡遅れまして本当に申し訳ありません。長い文章ですが宜しくお願いいたします。

    気づけばデータを頂いてから22時ですね。
    解ってしまうと何度同じ間違いを繰り返し、堂々巡りをしていたことか・・。(泣)動きました。
    支店名を当社の支店名にしてSQLを投げ、背景やタイトルもちょこちょこ変えてみて♪あ~楽しいです。当社仕様に致しました。

    動いています!
    支店からの動作テストもOKです。

    やはり私の気持ちとして、ポイントは遠慮なさらず。お時間を取っていただいたわけですから。

    私のサラリー17万/月の1%ですが・・。
    結婚しておりまして、おこづかいの関係もありましてもっと御礼できればと思うのですが・・。
    お礼といたしまして。
    ソースを拝見しまして、なるほど。なるほど。
    今後はこのソースを土台に致しまして、勉強いたします。
    今後も不明な点ございましたら、ご質問させて頂ければ幸いです。
    ただ、今回のようなご質問は控えます。


    あと、前回作成して頂いた部分も明確に理解しました。
    // データベース情報
    define( "db_Server", "localhost" );ここは当社のIP体系に変更しました。192.168.1.***
    define( "db_User", "foo" );⇒foo⇒"root"に変更
    define( "db_Password", "bar" );bar⇒""に変更
    define( "db_Name", "dbyosan" );
    define( "db_TableName", "yosan" );
    MySQLをセットアップした際root のパスワードなしですので。
    2箇所の変更にて”以前作成して頂いた”予算画面が表示されました。こちらも今後の教材になります。

    ◆今回勉強した事。
    ①バッチファイルにてSQLを投げる部分は以前日立のSEさんが当社のシステム導入の時使っていまして理解し易かったです。
    ※日本語の文字化けはありませんでした。

    ②コマンドにてテーブルの参照や作成を勉強できました。
    今後はMySQLAdminなどのGUIツールを使ってみたいと思います。
    以前ご質問いたしましたようにSQLite Manager の経験を生かしたいと思います。

    ③phpとhtmlのファイルの使い分け

    ④データベース情報define( "db_Server", "localhost" );がどのサーバーのディレクトリを参照しているのか。

    ⑤SQLはデータを一つ一つ登録(今回は支店ですが)するより合理的に登録できる。初期セットアップが確実に、迅速にできる。

    ⑥Mookさんが作成して頂いたphpはWindowsのdllファイルのように無駄なコードを作成することなく使うことができる。
    当たり前ですが、これは今後勉強が必要かと思います。

    最後にMookさんのマネジメントが、作業のベクトルを明確に示し、方向性を示してくれること。
    お会いしたことはありませんが、温かい人柄が伝わりました。私も部下に同じことをできるかどうか・・。
    まだ、htmlで会社のホームページを作成している程度のスキルですが。

    今まで(本当です)このスクリプトを作成したくて
    1.IIS(Windwos2000Server)でASPのサンプルを勉強した。4年前
    2.会社のホームページを作成した。簡単だった3年前
    3.予算の改善を今回のようにしたくて業者に見積もり依頼をしたら、40万だった。⇒稟議が通らず却下された。今思えば仕様もめちゃくちゃ。ダウンロードもログインという概念もなかった(笑)
    4.IISからApacheに乗り換え、cgiやPHPという言葉を知る。ブログも流行りそうな予感を抱く2年前
    5.社内のイントラ上で書籍に掲載されていた画像登録システムを動かす。 http://books.livedoor.com/item4774127078.html 
    6.ライブドアの株を購入し、損失は15万円(泣)2年前
    7.今年から本格的に’はてな’で質問を開始。

    やっとここまできました。Mookさんのおかげです。

    そろそろ帰宅の時間がきましたが、取り急ぎ状況のご報告とさせていただきます。

    今日は発泡酒ではなくビールを買って帰ろうと思います(笑)

    ありがとうございました。
















  • id:Mook
    うまく動いたようで何よりです

    コメントがないので「悪戦苦闘しているかなぁ」と心配していたのですが、ご自身で解決したようですね。
    そのように自身で苦労した経験は、なにより自分の力になります。

    前回に重ねて、多大なポイントありがとうございました(家に帰ってはてなを見たらポイントがたくさん増えていてびっくりしました)。
    喜んでもらえたようで、それが何よりの報酬です。
    また、前回の回答も参考にしていただけたようで、回答した甲斐がありました。

    お話を聞いて、私自身の昔を思い出しました。
    私も最初に WEB を覚え始めた頃、やはり部内のポータルサイトを作りました。今にして思えば、リンクを集めただけの拙いものですが、試行錯誤が何より自身の勉強になりました。

    是非、いつかはsaidenさんの思い描くシステムを自身の手で構築できるようがんばってください。



    けれど、大変なのはこれからですよ。
    自分だけでなく、多くの人が使うものは、いろいろと要求が出てきます。
    うまく動かないときは、障害対応もしなければなりません。

    でも、そんな経験がご自身の力となり、将来の糧となることと思います。
    がんばってください。
  • id:Mook
    などとえらそうなことを言っていたら、バグが・・・・。


    もう既に直したかもしれませんが、曜日が間違っていましたね。
    LibTime.php の42行目を
      $wdy = array( "月","火","水","木","金","土","日" );
    から
      $wdy = array( "日","月","火","水","木","金","土" );
    に直してください。


    SQL もゴミがあったり、改行コードが LF になっていたり、うーん。
    他にも不具合があったら対応しますので、コメントください。
  • id:saiden
    ありがとうございます。出社後修正しました。
    今はコードすら全部理解していませんが
    無駄にせずがんばります!!
    今後もよろしくお願い申し上げます。

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

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

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

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