有没有一种方法可以对从MySQL检索到的特定数据进行样式化?

时间:2019-04-08 21:58:49

标签: php jquery html mysql twitter-bootstrap

我正在从mySQL数据库中提取数据并将其输出到我的页面上,但是,我想使用Bootstrap在页面上设置特定数据的样式。我试图编写函数来分别提取数据,但是我确定自己做错了。

这是使用Bootstrap 4和JQuery样式的使用PHP和mySQL的简单CRUD数据库。我试图在页面中代替$row[status]编写函数,但是我想我缺少一个步骤。

该表应在"EXP"下输出"PAID"$row["status"]

<?php if (isset($_POST['submit'])) {
    if ($result && $statement->rowCount() > 0) { ?>
        <h2>Results</h2>

        <table class="table">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Status</th>
                </tr>
            </thead>
            <tbody>

        <?php foreach ($result as $row) { ?>
            <tr>
                <td><?php echo escape($row["id"]); ?></td>
                <td><?php echo escape($row["status"]); ?></td>
                <td><a class="btn btn-warning" href="update-single.php?id=<?php echo escape($row["id"]); ?>">Edit</a></td>
            </tr>
        <?php } ?>
        </tbody>
        </table>

如果表$row["status"]中的= "EXP"要用跨距HTML换行 示例:<span class="badge badge-danger"> </span>进行换行,否则为"PAID" <span class="badge badge-success"> </span>"PAID"换行

3 个答案:

答案 0 :(得分:1)

<td><?php echo escape($row["status"]); ?></td>替换为:

<td>
<?php
    if($row["status"]=='EXP'){//assumes exp and paid are only option otherwise use an elseif
       echo '<span class="badge badge-danger">';
    }else{
       echo '<span class="badge badge-success">';
    }
echo escape($row["status"]).'</span>';
?>
</td>

答案 1 :(得分:0)

也许这就是您想要的?

我已按要求包装了您的跨度,并使用“:”符号(而不是大括号)使其更具可读性

<?php if (isset($_POST['submit'])): ?>
    <?php if ($result && $statement->rowCount() > 0): ?>
        <h2>Results</h2>
        <table class="table">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Status</th>
                </tr>
            </thead>
            <tbody>
            <?php foreach ($result as $row) { ?>
                <tr>
                    <td><?php echo escape($row["id"]); ?></td>
                    <?php if ($row["status"] === "EXP"): ?>
                        <td><span class="badge badge-danger"><?php echo escape($row["status"]); ?></span></td>
                    <?php elseif ($row["status"] === "PAID"): ?>
                        <td><span class="badge badge-success"><?php echo escape($row["status"]); ?></span></td>
                    <?php endif: ?>
                    <td><a class="btn btn-warning" href="update-single.php?id=<?php echo escape($row["id"]); ?>">Edit</a></td>
                </tr>
            <?php endforeach; ?>
            </tbody>
        </table>
    <?php endif; ?>
<?php endif; ?>

如果复制HTML并非您的本事。您可以在循环中使用变量,并根据自己的喜好切换badge-{name}类名。

答案 2 :(得分:0)

假设status只有两个可能的值:EXPPAID

您可以这样修改表格单元格:

<td><span class="badge badge-<?php echo $row["status"] == "EXP" ? 'danger' : 'success' ?>"><?php echo escape($row["status"]); ?></span></td>