У меня возникли некоторые проблемы с поиском информации по этой теме, и я был бы очень благодарен за любую помощь. Короче говоря, у меня есть форма, в которой пользователи выбирают категорию из выпадающего списка, вводят некоторое содержимое и попадают в submit, который отправляется на SQL. Каждая категория в выпадающем списке имеет цветную кодировку:
<option STYLE="color: #00CC66;" value="Option_1">Option_1</option> <option STYLE="color: #0066CC;" value="Option_2">Option_2</option> <option STYLE="color: #996633;" value="Option_3">Option_3</option>
и т.д
Затем у меня есть php, который вытаскивает сохраненные представленные данные (категории и содержимое) в таблицу на той же странице, отсортированную по дате.
<?php $con=mysqli_connect("localhost","myuser","mypassword","mydb"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM mytable order by date DESC"); echo "<table border='1'> <tr> <th>Category</th> <th>Contents</th> <th>Date/Time</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['category'] . "</td>"; echo "<td>" . $row['contents'] . "</td>"; echo "<td>" . $row['date'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?>
Мой вопрос: когда эхо помещает информацию в таблицу, есть ли способ получить «категорию» в тех же цветах, что и пользовательская форма? (IE, на столе, Option_1 будет отображаться как # 00CC66, Вариант 2 как 0066CC и т. Д.)
В принципе, я хочу, чтобы фактический текст категории в загруженной таблице отображался так же, как и в раскрывающемся списке. Я не возражаю, если мне нужно вручную установить каждый из них, поскольку категории ограничены, я просто не знаю, с чего начать это. Цените любую помощь заранее!
Да, но вам нужно либо изменить значение поля выбора на цвет, либо вручную сделать это следующим образом:
function getColor($strOption) { switch ($strOption) { case "Option_1": return "#00CC66"; case "Option_2": return "#0066CC"; #etc } }
Затем в вашем цикле while:
while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td><font color='".getColor($row['category'])."'> " . $row['category'] . "</font></td>"; echo "<td>" . $row['contents'] . "</td>"; echo "<td>" . $row['date'] . "</td>"; echo "</tr>"; }