Php 数据库中的MySQL数据水平对齐

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($

我正在创建一个基本的网站,将显示10个不同的电视节目。 我在数据库中存储了10个不同的程序。我可以检索10个节目,但它们都出现在一列中。 我想知道是否有一种方法可以连续出现5次? 我已经尝试过基本的CSS,但我似乎无法让它工作

以下是我目前掌握的代码:

<?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>';
}
?>