2016-11-22 3 views
1

私はphpを初めて使いました。ページ上で画像を動的に表示するチュートリアルで作業していますが、うまく機能しますが、縦に表示して水平にします。私はそれを行うためのコードでページを作成しましたが、画像を表示するためにコードを挿入する場所を特定できないようです。 ありがとうございました。 垂直出力は、私はそれが助けを、感謝を考え出しました。このPHPはグリッドパターンで画像を動的に表示します

$dynamicList = ""; 
$sql = mysql_query("SELECT * FROM products ORDER BY date_added ASC LIMIT 6"); 
    while($row = mysql_fetch_array($sql)){ 
      $id = $row["id"]; 
      $product_name = $row["product_name"]; 
      $price = $row["price"]; 
      $details = $row["details"]; 
      $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); 
      $dynamicList .= '<table width="1000px" border="0" cellspacing="0" cellpadding="6" align="center"> 
     <tr> 
      <td width="1000px" align="center"><a href="product.php?id=' . $id . '"><img style="border:#666 0px solid;" src="images/' . $id . '.jpg" width="50%" height="50%" alt="' . $product_name . '" width="77" height="102" border="1" /></a></td> 
      <td width="83%" valign="top">' . $product_name . '<br /> 
      $' . $price . '<br /> $' . $details . '<br /> 
      <a href="product.php?id=' . $id . '">order</a></td> 
     </tr> 
     </table>'; 
} 
mysql_close(); 
?> 

Grid Output

$sql = mysql_query("SELECT * FROM products ORDER BY id ASC LIMIT 15"); 
$i = 0; 
// Establish the output variable 
$dynamiclist = '<table width="1000px" border="1" cellspacing="2" cellpadding="10" align="center">'; 
while($row = mysql_fetch_array($sql)){ 

    $id = $row["id"]; 
    $product_name = $row["product_name"]; 
    $details = $row["details"]; 
    $price = $row["price"]; 

    if ($i % 3 == 0) { // if $i is divisible by our target number (in this case "3") 
     $dynamiclist .= '<tr><td>' . $product_name . '</br>' . $details . '</br>' . $price . '</td>'; 

    } else { 

     $dynamiclist .= '<td>' . $product_name . '</td>'; 
    } 
    $i++; 
} 
$dynamiclist .= '</tr></table>'; 
?> 
+1

最後まで行を閉じないでください最後まで。私はすべてのループでそれを閉じる必要があると思います。カウンタ「$ i」がゼロに等しくない場合は、をの前に追加します。あなたの終了コードについついの追加が必要かもしれません。また、リストの項目2と項目3に$ detailsと$ priceを追加したくありません。あなたのカウンター$ iをもう一度チェックします。 $ i == 3かどうかを調べるほうが簡単かもしれません。 – Claus

+0

こんにちはクラウスさん、ありがとうございました。コードはブラウザに3つの広いグリッドパターンを描画しますが、私はそれを行うことができませんが、垂直出力のようにデータベースに付属する画像を追加することです。私はif文の上でそれを試しましたが、if文で構文エラーが発生します。私は出力変数でそれを試しましたが、それは私がそれを行うときに未定義の変数を引き起こすので、私はそれをどこに置くべきか提案していません。 – ribbonman

答えて

0

のように見えます。

$sql = mysql_query("SELECT * FROM products ORDER BY id ASC LIMIT 15"); 
$i = 0; 
// Establish the output variable 
$dynamiclist = ""; 
while($row = mysql_fetch_array($sql)){ 

    $id = $row["id"]; 
    $product_name = $row["product_name"]; 
    $details = $row["details"]; 
    $price = $row["price"]; 


    if ($i % 4 == 0) { // if $i is divisible by our target number (in this case "3") 
     $dynamiclist .= '<tr><td width="250px" align="center"><img src="images/' . $id . '.jpg"><br/>' . $product_name . '<br /> 
      ' . $details . '<br /> $' . $price . '<br /> 
      <a href="product.php?id=' . $id . '">order</a></td>'; 

    } else { 

     $dynamiclist .= '<td width="250px" align="center"><img src="images/' . $id . '.jpg"><br/>' . $product_name . '<br /> 
      ' . $details . '<br /> $' . $price . '<br /> 
      <a href="product.php?id=' . $id . '">order</a></td>'; 
    } 
    $i++; 
} 
$dynamiclist .= '</tr></table>'; 
?> 
関連する問題