Php 数据库中的MySQL数据水平对齐
我正在创建一个基本的网站,将显示10个不同的电视节目。 我在数据库中存储了10个不同的程序。我可以检索10个节目,但它们都出现在一列中。 我想知道是否有一种方法可以连续出现5次? 我已经尝试过基本的CSS,但我似乎无法让它工作 以下是我目前掌握的代码:Php 数据库中的MySQL数据水平对齐,php,html,mysql,css,Php,Html,Mysql,Css,我正在创建一个基本的网站,将显示10个不同的电视节目。 我在数据库中存储了10个不同的程序。我可以检索10个节目,但它们都出现在一列中。 我想知道是否有一种方法可以连续出现5次? 我已经尝试过基本的CSS,但我似乎无法让它工作 以下是我目前掌握的代码: <?php $results = $mysqli->query("SELECT * FROM programmes ORDER BY ProgrammeName ASC"); if ($results) { while($
<?php
$results = $mysqli->query("SELECT * FROM programmes ORDER BY ProgrammeName ASC");
if ($results) {
while($obj = $results->fetch_object())
{
echo '<br>';
echo '<div class="tvProgs">';
echo '<form method="post" id = "books" action="cart_update.php">';
echo '<div class="progImage"><img src="images/'.$obj->Image.'"></div>';
echo '<div class="progTitle"><h3>'.$obj->ProgrammeName.'</h3>';
echo '</form>';
echo '</div>';
}
}
?>
您可以从以下位置开始:
$i=0;
echo '<br>';
while($obj = $results->fetch_object())
{
echo '<div class="tvProgs">';
echo '<form method="post" id = "books" action="cart_update.php">';
echo '<div class="progImage"><img src="images/'.$obj->Image.'"></div>';
echo '<div class="progTitle"><h3>'.$obj->ProgrammeName.'</h3>';
echo '</form>';
echo '</div>';
if (($i++) == 5) { echo '<br>'; $i=0; }
}
试着把它们放在一张桌子上:
<?php
$results = $mysqli->query("SELECT * FROM programmes ORDER BY ProgrammeName ASC");
if ($results) {
$i=0;
echo '<table><tr>';
while($obj = $results->fetch_object())
{
echo '<td>';
echo '<div class="tvProgs">';
echo '<form method="post" id = "books" action="cart_update.php">';
echo '<div class="progImage"><img src="images/'.$obj->Image.'"></div>';
echo '<div class="progTitle"><h3>'.$obj->ProgrammeName.'</h3>';
echo '</form>';
echo '</div>';
echo '</td>';
$i++;
if ($i == 5) {
echo '</tr><tr>';
}
}
echo '</tr></table>';
}
?>
这将按照您的要求将它们放在每行的表5中
<?php
$results = $mysqli->query("SELECT * FROM programmes ORDER BY ProgrammeName ASC");
if ($results) {
$i = 0;
echo '<table>';
while($obj = $results->fetch_object())
{
if ($i == 0) {
echo '<tr>';
}
echo '<td>';
echo '<div class="tvProgs">';
echo '<form method="post" id = "books" action="cart_update.php">';
echo '<div class="progImage"><img src="images/'.$obj->Image.'"></div>';
echo '<div class="progTitle"><h3>'.$obj->ProgrammeName.'</h3>';
echo '</form>';
echo '</div>';
echo '</tr>';
$i++;
if ($i == 5) {
echo '</tr>';
$i = 0;
}
}
if ($i != 0) {
echo '</tr>';
}
echo '</table>';
}
?>
那真的没什么用。所有内容都仍然在一个大栏中。这不会在6条记录后添加一个
吗?这是我的想法,但出于某种原因,我的屏幕上仍然只有一个大栏@Alex我没有为.tvProgs yetAlmost做任何css,如果(++$I==5){echo'
';$I=0;}
应该可以做到这一点。顺便说一句,我强烈推荐@Tman使用一个好的css,你根本不需要那个代码修复这就是我们现在实现响应的方式。那么,不要使用div。这些基本上类似于
段落。。。要么让它们成为内联块,要么改用
。另外,即使这样,您仍然会使用
,强制换行。此外,您的所有表单都将具有相同的html id。这使得像OP询问的那样显示为一行5个?谢谢,这似乎起到了作用,但所有10个都在一行中。哦,对不起,我关注的是行与列的要求,而没有关注行中5的要求。检查更新的答案。我认为您的更新将产生每行6<代码>+$i
应该可以工作。我编辑它时,您检查了它。现在检查一下。或者您将5件作品更改为4件作品:-)
<?php
$results = $mysqli->query("SELECT * FROM programmes ORDER BY ProgrammeName ASC");
if ($results) {
$i = 0;
echo '<table>';
while($obj = $results->fetch_object())
{
if ($i == 0) {
echo '<tr>';
}
echo '<td>';
echo '<div class="tvProgs">';
echo '<form method="post" id = "books" action="cart_update.php">';
echo '<div class="progImage"><img src="images/'.$obj->Image.'"></div>';
echo '<div class="progTitle"><h3>'.$obj->ProgrammeName.'</h3>';
echo '</form>';
echo '</div>';
echo '</tr>';
$i++;
if ($i == 5) {
echo '</tr>';
$i = 0;
}
}
if ($i != 0) {
echo '</tr>';
}
echo '</table>';
}
?>