2012-03-10 74 views
0

我已經在PHP中創建了一個產品目錄,我希望產品像表格一樣在網格中出現,所以它並排排列了3個產品,然後進行下面等等。我知道了這樣的產品水平重複,我只是不知道如何使它自動啓動三個產品後,新的行..php產品目錄的表格佈局

這裏是目前我的代碼:

<?php # Script 17.5 - browse_prints.php 
// This page displays the available prints (products). 

// Set the page title and include the HTML header: 
$page_title = 'Browse the Films'; 

require_once ('mysqli_connect.php'); 

// Default query for this page: 
$q = "SELECT image_name, genre.genre_id, CONCAT_WS(' ', genre_name) AS genre, film_name, price, platform, description, film_id, image_name FROM genre, film WHERE genre.genre_id = film.genre_id AND film.platform = 'DVD' ORDER BY genre.genre_name ASC, film.film_name ASC "; 

// Are we looking at a particular genre? 
if (isset($_GET['gid']) && is_numeric($_GET['gid'])) { 
$gid = (int) $_GET['gid']; 
if ($gid > 0) { // Overwrite the query: 
    $q = "SELECT image_name, genre.genre_id, CONCAT_WS(' ', genre_name) AS genre, film_name, price, description, film_id, image_name FROM genre, film WHERE genre.genre_id = film.genre_id AND film.genre_id = $gid AND film.platform = 'DVD' ORDER BY film.film_name"; 
} 
} 



// Create the table head: 
echo '<table border="0" width="90%" cellspacing="3" cellpadding="3" align="center"> 
<tr> 
    <td align="left" width="50%"><b>Film Name</b></td> 
    <td align="right" width="50%"><b>Price</b></td> 
</tr><tr>'; 


// Display all the prints, linked to URLs: 
$r = mysqli_query ($dbc, $q); 
while ($row = mysqli_fetch_array ($r, MYSQLI_ASSOC)) { 

// Display each record: 
//image 
$image_name = $row['image_name']; 
echo " 
    <td><a href=\"view_print.php?fid={$row['film_id']}\">{$row['film_name']}<br><br> 
    <img src=uploads/$image_name.jpg><br> 
    <br>&#163;{$row['price']}</td> 
"; 


} // End of while loop. 

echo '</tr></table>'; 
mysqli_close($dbc); 

?> 

回答

1

div比表格更好。 但如果你想這樣做,請添加一個計數器。

// Create the table head: 
echo '<table border="0" width="90%" cellspacing="3" cellpadding="3" align="center"> 
<tr> 
    <td align="left" width="50%"><b>Film Name</b></td> 
    <td align="right" width="50%"><b>Price</b></td> 
</tr>'; 

$row_count = 0: 
// Display all the prints, linked to URLs: 
$r = mysqli_query ($dbc, $q); 
while ($row = mysqli_fetch_array ($r, MYSQLI_ASSOC)) { 
$row_count++; 
if ($row_count==1) echo "<tr>"; 
// Display each record: 
//image 
$image_name = $row['image_name']; 
echo " 
    <td><a href=\"view_print.php?fid={$row['film_id']}\">{$row['film_name']}<br><br> 
    <img src=uploads/$image_name.jpg><br> 
    <br>&#163;{$row['price']}</td> 
"; 
    if ($row_count==3) { 
     echo "</tr>"; 
     $row_count=0; 
    } 
} // End of while loop. 

if ($row_count>0) echo "</tr>"; 
echo '</table>'; 
2

使用索引內循環變量:

$i = 0; 
while ... 
{ 
    // other code... 

    $i++; 
    if ($i % 3 == 0) { echo '</tr><tr>'; } 
} 
0

使用它

<table> 
<?php 
    for($i=0; $i<12; $i++) { 
     if($i%3==0){ 
      echo "<tr>"; 
     } 
     echo "<td>Product - ".$i."<td/>"; 
    } 
?> 
</table> 

Outpu t

Product - 0  Product - 1  Product - 2 
Product - 3  Product - 4  Product - 5 
Product - 6  Product - 7  Product - 8 
Product - 9  Product - 10  Product - 11