我有一个包含2个表的数据库:
成员表和展示表
我有2页:search.php
和results.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中的“颜色”字段做出反应。 在“公园与休闲”的示例中,我希望边框变为绿色。
答案 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'] ?>";