- ベストアンサー
PHP+MySQL でDB検索し画像の表示
はじめまして。他の方も同様の質問をされていますが、PHPの初心者のせいか要領を得ず、うまく結果を出せずにいます。下記の件につきまして、どなたか教えていただけないでしょうか。 <やりたいこと> 1.PHPで検索ワードに該当する商品の画像を表示したい。 <既にできていること> 1.検索ワードに該当する文字データの表示。 2.商品画像の画像名をMySQLのgameというテーブルの Picというフィールドに、abc.jpgというような名称でデータの保存。 他に必要な情報があれば、あわせて教えていただけないでしょうか。何を説明すべきかも分からないような初心者です。よろしくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
本屋さんへ行くと 「PHP実践のツボ」という本があります ¥2,400 頁21から頁37までをまずは一読してみてください
その他の回答 (6)
- kusukusu
- ベストアンサー率38% (141/363)
ネタですか?(^^; もし本気なら業者に依頼しましょう…
- yambejp
- ベストアンサー率51% (3827/7415)
><?php >SELECT Pic FROM game WHERE word~'".$keyword."' ><img src="./pic/talkman.jpg">; >?> これは本気でこのソースをPHPで実行したのでしょうか? 画像名を抜き出す以前に、PHPからMySQLへの接続 の仕方はご理解なさっていますか? SQLを発行して、戻り値の得るところで詰まっている ように見受けられます。 その辺は基本なので、まず座学でどうやって MySQLへアクセスするか、書籍やWEBで確認してから 応用的な質問をなさってください。
お礼
どうもありがとうございました。もう少し、自分なりに勉強してみます。
- kusukusu
- ベストアンサー率38% (141/363)
table game: Pic text word text とあるとします。 キーワード検索で、picのファイル名を取得すればいいだけではないですか? SELECT Pic FROM game WHERE word~'".$keyword."' それで、表示するときに<img src>タグで出力… これだけではないでしょうか? もしNo1で私が書いてある他の方法で画像ファイルを保存しているんであれば、別ですが・・
補足
何度もお手数をお掛けしてしまい、申し訳ありません。下記のように書いてみましたが、エラーになってしまいます。教えていただいた通りにやってみたつもりですが、うまく行きません。何がいけないのでしょうか。 <?php SELECT Pic FROM game WHERE word~'".$keyword."' <img src="./pic/talkman.jpg">; ?> よろしくお願いいたします。
- 39jin
- ベストアンサー率34% (125/359)
技術的な技法は解りませんが・・ 文字データと同じ横並びのフィールドに画像名が登録されて居るならば、ID(no)を取得して、画像のみを表示をさせれば良し、検索文字も表示したければ同時に表示と指示すれば出来そうですが 自分の場合は指定された場所に画像データはコピーされるような状態で保存されていますので可能です MySQL+PHPです。参考までに
補足
ご回答をいただきまして、ありがとうございます。よろしければ、どのようにphpを書いたら良いか、教えていただけないでしょうか。お手数をお掛けいたしますが、よろしくお願いいたします。
- kusukusu
- ベストアンサー率38% (141/363)
???(^^; 根本的に勘違いしてるのかな…(^^; コマンドライン版PHPで、ローカルで使いたいって事しょうか? もしWebサーバー上にあるのであれば、画像は当然UP市内とダメですよ? 多分、 >3.httpではアクセス不可なディレクトリに保存してある。 だと思いますが、それならDBには、ファイル名しか保存してないと言うことですよね? であれば普通にファイル名を取得して、<img src="./pic/abc.jpg">でいいんじゃないですか?
補足
何度も要領を得ずに申し訳ありません。やりたい事のイメージは、www.amazon.co.jp の検索をすると書籍なりゲームなりの商品の詳細と写真が出てくると思いますが、あのように写真を検索キーワードから表示させたいです。ご教示をお願いいたします。
- kusukusu
- ベストアンサー率38% (141/363)
画像本体はどうやって、どこに保存してあるのですか? 1.base64でエンコードして、DBに保存してある。 2.httpでアクセス可能なディレクトリに保存してある。 3.httpではアクセス不可なディレクトリに保存してある。 以上のどれかでしょうか? それとも、これくらいしか思いつき来ませんが他にも何かありますか?
補足
早速のご回答をいただきまして、ありがとうございます。ご指摘の件ですが、他のホームページ素材のphpやhtmlを保存してあるローカルホスト(?)内のフォルダに保存してあります。他に情報が必要でしたら、ご連絡をお願いいたします。
お礼
どうもありがとうございました。参考にさせていただきたいと思います。