2012-04-03 4 views
0

私は、PHPとMySQLを使用してPCコンポーネントを販売する電子商取引サイトを作成しようとしています。イメージディレクトリを使用して画像を表示

私は、 '名前'、 'タイプ'などのフィールドを持つPCコンポーネントを格納する 'components'というテーブルを持つデータベースを使用しています。イメージをBLOBとしてではなくファイルシステムに保存します。このフィールドには、そのコンポーネントの画像の名前が表示されます(たとえば、インテルi7 2700kプロセッサの場合、画像はintel72700k/jpgです)。イメージは '../images/products/'に保存されます。

私は自分の商品リストを作成しようとしています(つまり、ユーザーは「プロセッサー」をクリックしており、私たちは現在持っている製品のリストを表示しようとしています、overclockers.co.ukと同様です)。テーブルの見出しが製品の名前で、製品ごとに1つの行があるテーブルを作成しています。

<table id="products"> 
      <?php 
      //Connects to the DB, localhost is yourpc, root is the username and there is no password 
      $con = mysql_connect('localhost','root',''); 
      //This is the database we want to access in phpMyAdmin 
      mysql_select_db('pctweeks'); 

      $query = "SELECT * FROM component WHERE type = 'CPU'"; 

      $query_run = mysql_query($query) or die(mysql_error($con)); 

      if (mysql_num_rows($query_run) >= 1){ 

      while($row = mysql_fetch_assoc($query_run)) { 
       echo "<th>{$row['name']}</th>" . 
       "<tr><td>{$row['image']}</td></tr>"; 
      } 
      } else 
      { 
       echo 'No Products'; 
      } 
     ?>    
     </table> 

問題は{$ row ['image']}部分です。私はイメージタグを使わなければならないが、$ row ['image']の前にピクチャのディレクトリを挿入する方法を知らない。

答えて

1

カントあなたはここのようなコードを使用:

echo "<th>{$row['name']}</th>" . 
    "<tr><td> <img src='../images/products/{$row['image']}'/> </td></tr>"; 
+0

、私は近かったが、私はパス上の単一引用符を使用していませんでした(「../imagesを..」)と思いました。どうもありがとう! – Mike

0

あなたはこれを試みることができる:

define('IMG_PATH', 'PATH_OF_YOUR_IMAGE_DIRECTORY_HERE'); 

while($row = mysql_fetch_assoc($query_run)) { 
    echo "<th>{$row['name']}</th>" . 
    "<tr><td><img src='".IMG_PATH."'{$row['image']}</td></tr>"; 
} 

は、あなたの実際の画像フォルダのパスを "PATH_OF_YOUR_IMAGE_DIRECTORY_HERE" を交換してください。このことができます

希望。これは働いていた

関連する問題