根据数据库更改边框

时间:2019-01-02 22:26:42

标签: javascript php sql pdo

我有一个包含2个表的数据库:

成员表和展示

我有2页:search.phpresults.php

我设法从表shows中显示我想要的所有字段(即:如果我在“ search.php”页面中键入“ Parks&Recreation”,则会得到所有信息(名称,演员, ...)显示在名为“ results.php”的页面中。

我尝试了不同的解决方案,包括:

https://www.w3schools.com/jsref/prop_style_bordercolor.asp

我知道我应该使用: document.getElementById("myDiv").style.borderColor = 'red'

我不知道该怎么做的是如何使这段代码的最后一部分对我的sql代码做出反应。

<div class="container">
    <?php
    include_once("inc/search.inc.php");
    if ($resultat->rowCount() > 0) { ?>
        <ul>
            <?php while ($search = $resultat->fetch()) { ?>
            <li><?= $search['titre'] ?></li>
            <li><?= $search['category'] ?></li>
            <li><?= $search['type'] ?></li>
            <?php 
        } ?>
        </ul>
        <?php 
    } else { ?>
        Sorry, no results for <?= $term ?>...
        <?php 
    } ?>
</div>
<script>
function myFunction() {document.getElementById("container").style.border = <?php $resultat = $cooking->query('SELECT color FROM shows');?>;
}
</script>

我希望边框对表show中的“颜色”字段做出反应。 在“公园与休闲”的示例中,我希望边框变为绿色。

1 个答案:

答案 0 :(得分:0)

你非常亲近

在此行

document.getElementById("container").style.borderColor = <?php $resultat = $cooking->query('SELECT color FROM shows);?>;

我不知道 $ cooking->查询会返回什么,但是您能弄清楚的方式是这样的:

在代码中添加一行,如下所示:

<?php var_dump($cooking->query('SELECT color FROM shows')); ?>

这将使您看到 $ cooking->查询

返回的内容

可能会返回一个数组

如果是数组,您可以像这样从元素中获取颜色

$shows[0]['color']

$ shows 是一个数组, [0] 表示您要使用数组中的第一个元素(数组索引从零开始),而“颜色” 表示您想要颜色列的内容

一旦有了数据库中的颜色,就可以将其嵌入到JavaScript中。一定要在它周围加上引号。

我会这样编码:

 <?php $resultat = $cooking->query('SELECT color FROM shows WHERE show_id = 1');?>
 document.getElementById("container").style.borderColor = "<?= $resultat[0]['color'] ?>";

您需要位置来指示您要为其显示颜色的节目。您可以使用 show_id 之类的ID或节目的名称。

document.getElementById("container").style.borderColor = "<?= $resultat[0]['color'] ?>";