Изменение границы в соответствии с базой данных - PullRequest
0 голосов
/ 03 января 2019

У меня есть база данных с 2 таблицами:

члены таблица и показывает таблица

У меня есть 2 страницы: search.php и results.php

Мне удается отобразить все поля, которые я хочу из таблицы shows (то есть: если я наберу "Parks & Recreation" на моей странице "search.php", я получу всю информацию (имя, актеры, ...) отображаются на странице с именем «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>

Мне бы хотелось, чтобы граница реагировала на поле «цвет» в табличном представлении. В этом примере «Парки и отдых» я бы хотела, чтобы граница была зеленой.

1 Ответ

0 голосов
/ 03 января 2019

Вы очень близки

В этой строке

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

Я не знаю, что возвращает $ cooking-> query , но вы можете понять это так:

Добавьте строку в свой код следующим образом:

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

Это позволит вам увидеть, что возвращается из $ cooking-> query

Скорее всего, будет возвращен массив

Если это массив, вы можете получить цвет от элемента следующим образом:

$shows[0]['color']

$ показывает - массив, [0] означает, что вы хотите использовать первый элемент в массиве (индексы массива начинаются с нуля), а ' color ' означает, что вам нужно содержимое столбца цвета

Получив цвет из базы данных, вы можете встроить его в JavaScript. Обязательно ставьте кавычки.

Я бы кодировал это так:

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

Вам нужно WHERE , чтобы указать, для какого шоу вам нужен цвет. Вы можете использовать идентификатор типа show_id или название шоу.

document.getElementById("container").style.borderColor = "<?= $resultat[0]['color'] ?>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...