2017-03-07 2 views
1

これまでの出力コードです。現在、期待どおりに、すべての下にすべてが表示されます。PHP/HTMLでのMySQLクエリの書式設定

<table id="dslrTable"> 

       <?php 

       while($row = mysqli_fetch_assoc($result)) { ?> 

          <?php echo "<tr><td> <a href=model.php?id=" . $row["ID"] . ">" . "<img src=images/" . $row["Image URL"] . " </a></td></tr>"; ?> 
          <?php echo "<tr><td> <a href=model.php?id=" . $row["ID"] . ">" . $row["Make"] . " " . $row["Model"] . " </a></td><tr>"; ?> 
          <?php echo "<tr><td> <a href=#.php>[add to compare] </a> </td></tr>"; ?> 

       <?php } ?> 

      </table> 

私が達成しようとしているのは、データベースに3つのtrがあることです。画像、メイク/モデル、ハイパーリンク。 4つの "結果"の後、新しいtrを作成します。このようなもの。

<table> 
       <tr> 
        <td>Image 1</td> 
        <td>Image 2</td> 
        <td>Image 3</td> 
        <td>Image 4</td> 
       </tr> 
       <tr> 
        <td>Make and Model 1</td> 
        <td>Make and Model 2</td> 
        <td>Make and Model 3</td> 
        <td>Make and Model 4</td> 
       </tr> 
       <tr> 
        <td>Hyperlink 1</td> 
        <td>Hyperlink 2</td> 
        <td>Hyperlink 3</td> 
        <td>Hyperlink 4</td> 
       </tr> 
       <tr> 
        <td>Image 5</td> 
        <td>Image 6</td> 
        <td>Image 7</td> 
        <td>Image 8</td> 
       </tr> 
       <tr> 
        <td>Make and Model 5</td> 
        <td>Make and Model 6</td> 
        <td>Make and Model 7</td> 
        <td>Make and Model 8</td> 
       </tr> 
       <tr> 
        <td>Hyperlink 5</td> 
        <td>Hyperlink 6</td> 
        <td>Hyperlink 7</td> 
        <td>Hyperlink 8</td> 
       </tr> 
      </table> 

これは私のwhileループが停止するまで続きます。私はモジュロ除算とカウンタ変数を使う必要があることを知っていますが、それを動作させることはできません。

ご協力いただきありがとうございます。

答えて

1
<?php 
     $i=0; 
     while($row = mysqli_fetch_assoc($result)) { 
      $image[$i] = $row["Image URL"]; 
      $model[$i] = $row["Model"]; 
      $hyper_link[$i] = $row["Hyperlink"]; 
      $i++; 
     } 

    ?> 


    <table border="1"> 
     <?php 
     $k=0; 
     $l=1; 
     $m=2; 
     $n=3; 
     for($j=0;$j<count($image)/4;$j++){ 
      echo "<tr>"; 
      echo " <td> {$image[$k]}</td>"; 
      echo " <td> $image[$l]</td>"; 
      echo " <td> $image[$m]</td>"; 
      echo " <td> $image[$n]</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo " <td> $model[$k] </td>"; 
      echo " <td> $model[$l]</td>"; 
      echo " <td> $model[$m]</td>"; 
      echo " <td> $model[$n]</td>";  
      echo "</tr>"; 
      echo "<tr>"; 
      echo " <td> $hyper_link[$k] </td>"; 
      echo " <td> $hyper_link[$l]</td>"; 
      echo " <td> $hyper_link[$m]</td>"; 
      echo " <td> $hyper_link[$n]</td>"; 
      echo "</tr>"; 
      $k +=4; 
      $l +=4; 
      $m +=4; 
      $n +=4; 
     } 
     ?> 
    </table> 
+0

このコードは、なぜおよび/またはどのようにこのコードは質問がその長期的な価値を向上回答に関する追加のコンテキストを提供し、質問に答えるかもしれないが。 –

0

私はそれが関数mysqli_fetch_assoc()の適切な使用ではないことを確信しています。あなたは本当に結果を配列変数に格納し、結果を数え、すべてをforループに渡すべきです。

$row = mysqli_fetch_assoc($result); 

$result_count = count($row); 

for($i = 0; $i <= $result_count; $i++){ 

}