-1
私の問題は、PHPで出力されたSQLデータが垂直の単一の列に表示されていることです。SQLデータを6行ずつ出力するにはどうすればいいですか
データが表示されます。6つの項目の行には、次の6を表示する新しい行が作成されます。
コード:
<?php # DISPLAY COMPLETE PRODUCTS PAGE.
# Access session.
session_start() ;
# Redirect if not logged in.
if (!isset($_SESSION[ 'user_id' ])) { require ('login_tools.php') ; load() ; }
# Set page title and display header section.
$page_title = 'Shop' ;
include ('includes/header.html') ;
# Open database connection.
require ('..\connect_db.php') ;
# Retrieve items from 'shop' database table.
$q = "SELECT * FROM shop" ;
$r = mysqli_query($dbc, $q) ;
if (mysqli_num_rows($r) > 0)
{
# Display body section.
echo '<UL>
<li><a href="shop_details.php?id=1">View Item</a></li>
<li><a href="shop_details.php?id=2">View Item</a></li>
<li><a href="shop_details.php?id=3">View Item</a></li>
</UL>
';
#Displays every item in the store.
echo '<table><tr>';
$formatting = 0;
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
echo $formatting;
if ($formatting = 6){
echo '<td><strong>' . $row['item_name'] .'</strong><br><span style="font-size:smaller">'.
$row['item_desc'] . '</span><br><img src='. $row['item_img'].' height=200px><br>$' . $row['item_price'] .
'<br><a href="shop_details.php?id='.$row['item_id'].'">View Item</a></td></tr><tr>';
$formatting = 0;
}
else
{
echo $formatting;
echo '<td><strong>' . $row['item_name'] .'</strong><br><span style="font-size:smaller">'.
$row['item_desc'] . '</span><br><img src='. $row['item_img'].' height=200px><br>$' . $row['item_price'] .
'<br><a href="shop_details.php?id='.$row['item_id'].'">View Item</a></td>';
$formatting = $formatting + 1;
}
}
echo '</tr></table>';
# Close database connection.
mysqli_close($dbc) ;
}
# Or display message.
else { echo '<p>There are currently no items in this shop.</p>' ; }
# Create navigation links.
echo '<p><a href="cart.php">View Cart</a> | <a href="forum.php">Forum</a> | <a href="home.php">Home</a> | <a href="goodbye.php">Logout</a></p>' ;
# Display footer section.
include ('includes/footer.html') ;
?>
SELECT * FROM shop LIMIT 6 –
このif($ formatting = 6)は期待したことをしません!あなたは割当てていて、比較していません。 '=='または '==='でなければなりません – Jeff
ありがとうございます。それは動作しますが、データベースからの最初の6項目のみを表示します。次の6行を表示する別の行を作成する方法はありますか? –