PHP:SELECT * FROM 的 echo 中的表出现问题

标签 php html css

我正在尝试对从数据库中提取的一些表进行样式设置,我希望行中的列与列名称对齐以使其更具可读性。

尝试使用 PHP 时的唯一问题,我不知道我做错了什么,我尝试在 while 循环之外创建一个表,显示名称,然后在那里启动表,然后然后在 while 循环内结束该表。但我希望所有行都作为第一行,我尝试更改 css 并移动 echo "</table>";echo "<table>";但不知道我可能做错了什么来让它看起来漂亮,或者至少组织成一个表格集,有什么想法,或者更好的方法我可以让它工作并看起来有组织吗?

我感谢任何帮助和评论,这里是来源和问题;

图片: Image of the output from the HTML/CSS in the source code, a given example of the code being run.

PHP 代码:

<?php
include('connect_mysql.php');
        $sql = "SELECT * FROM artist";
        $resultat = $conn->query($sql);
        echo"<table>";
        echo "<tr id='tabledesc'>";
                echo"<td class='tabledesc'>Artist Name</td>";
                echo"<td class='tabledesc'>Birthday</td>";
                echo"<td class='tabledesc'>Name</td>";
                echo"<td class='tabledesc'>Surname</td>";
                echo"<td class='tabledesc'>Country</td>";
        echo "</tr>";

        while($rad = $resultat->fetch_assoc()) {
            $artist_id = $rad["artist_id"];
            $birthday = $rad["birthday"];
            $artistname = $rad["artistname"];
            $name = $rad["name"];
            $surname = $rad["surname"];
            $country = $rad["country"];

        echo "<div class='tableselect'>";
            echo "<tr>";
                echo"<td class='tablerow'>$artistname</td>";
                echo"<td class='tablerow'>$birthday</td>";
                echo"<td class='tablerow'>$name</td>";
                echo"<td class='tablerow'>$surname</td>";
                echo"<td class='tablerow'>$country</td>";
            echo "</tr>";
        echo "</table>";
        echo "</div class='tableselect'>";

        }


        $conn->close();
?>

A$AP Ferg 列显然按预期工作,但是 while 循环停止生成表后给出的相同行,这是我放入的 CSS:

.tableselect {
font-size: 25px;
color: tomato;
}

table, td { 
font-size: 25px;
color: tomato;
}

.tabledesc {
text-align: center;
color: black;
}

我很抱歉这个半不清楚的问题,但最后我会提供更多的见解。我正在创建一个说唱数据库,用户可以在其中输入艺术家和有关他们的信息,在这里我只想选择所有行并将它们放入像打印的第一列一样..但不幸的是我的代码有点困惑,而 PHP 是这不是我的强项:D

如果有任何帮助,我将不胜感激!

最佳答案

您的 HTML 标记不匹配;一个<div>元素不能是 <table> 的直接子元素元素和结束 </table>标签不应位于循环体内。

在我看来,echo 也是一个坏主意。 HTML 代码。首先编写 HTML,然后在需要时打开和关闭 PHP 标签。我还发现在将 HTML 与 PHP 混合时使用替代 PHP 语法要方便得多。

关于PHP:SELECT * FROM 的 echo 中的表出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50331576/

相关文章:

html - 输入元素大于指定

javascript - jquery中的文字效果

html - 为什么后台附件: fixed make background-size:cover resize to the window proportions?

php - 从javascript数组到mysql

php - Zend framework amazon S3 - 如何将文件存储为减少的冗余?

html - float 出现在元素的背景上

html - CSS 图像缩放以限制窗口宽度而不扭曲

javascript - 无论我水平滚动多少,如何让一个 div 卡在页面的左侧?

php - 单一 Eloquent 关系的多个表

javascript - 从没有页面刷新的模式异步 Ajax 保存 Laravel 5.2