2017-03-07 126 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> 

我想實現的是在數據庫中每行三個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++){ 

}