2011-10-20 25 views
0

mysqlレコードをテーブルにフェッチしようとしていますが、各セルには1つのイメージのみが必要です。PHPを使用してhtmlテーブルにmysqlレコードを取得する

問題は、写真が各行を埋めるために必要な数に5回重複していることです。ここで

は私のコードです:

<table width="%" border="1" bordercolor="#F7F7F7" align="center" cellspacing="10" cellpadding="5"> 

     <tr> 

     <? 
     for($i=0;$i<=5;$i++) 
     { 

     echo "<td width=125 height=125><img width=125 height=125 src=images/".$info['photo'] ."></td>"; 
     } }?> 
     </tr> 
    </table> 

は、どのように私はそれぞれの写真には、各セルに1つの時間をフェッチするために、このコードを修正することができますか?

***** ***** EDIT

私はテーブルの内側しばらく置いて、フェッチが今大丈夫ですが、それはまだ同じ行のフェッチ、私は停止するように何かをする必要があります同じ行に5つのセルがあるまでフェッチしてから、新しい行に引き続きフェッチします。

<table width="%" border="1" bordercolor="#F7F7F7" align="center" cellspacing="10" cellpadding="5"> 

     <tr> 


     <? 

     while($info = mysql_fetch_array($data )) 
{ 
?> 

     <td width=125 height=125 ><img width=125 height=125 src=images/<? echo ($info['photo']); ?>></td> 


    <? } ?> 
     </tr> 
+0

[データベースからの値を使ってPHP 2のカラムテーブルを作成するには?](http://stackoverflow.com/questions/7299913/how-to-create-php-2-column-table-with-values -from-the-database) –

+0

これで私を助けることができました:) –

答えて

1

ループ内で$info['photo']を変更していません。だからあなたは同じ写真を5回エコーしているのです。あなたのコードは、あなたがこのようにコードを変更することができますどのように見えるかによって

$result = mysql_query($your_query); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    echo("<td width=\"125\" height=\"125\"><img width=\"125\" height=\"125\" src=\" images/". $row["photo"] ."></td>"); 
} 
+0

それはうまくいきませんでした! 、すべての画像は利用できません –

1

これは、この質問に答えるために、関連するすべてのコードではないようです。 'for'ループで6回ループし、同じ画像 '$ info [' photo ']'を6回フェッチしています。

ループするたびに次のMySQLクエリに移動します。だからあなたのループ内に

$info = mysql_fetch_row($result) 

があります。

1

forループ内でエコーする前に$ info = mysql_fetch_row()を追加してみてください。 $ info!= falseもチェックして、セルを埋めるのに十分な画像(5項目)があることを確認してください。

+0

私はそれを試みましたが、うまくいかなかった、すべての画像はまだ利用できません –

+0

$ info = mysql_fetch_row($ data)あなたの編集 - $ i変数を宣言するには、0を代入し、ループ内に 'if(++ $ i> = 5)を追加します(echo" "; $ i = 0; } ' – Arny

関連する問題