0

我在查找有关此主题的信息时遇到了一些真正的麻烦,我将非常感谢您的帮助。简而言之,我有一个表单,用户从下拉列表中选择一个类别,输入一些内容,然后点击提交到 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>

ETC

然后我有一个 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);
?> 

我的问题是,当 echo 将信息放在表格中时,有没有办法让“类别”以与用户表单相同的颜色显示?(IE,在桌子上,Option_1 会显示为#00CC66,Option 2 会显示为 0066CC,等等...)

基本上,我希望获取的表上的实际类别文本显示与下拉表单中的相同。我不介意是否需要手动设置每个类别,因为类别有限,我只是不知道从哪里开始。提前感谢任何帮助!

4

1 回答 1

1

是的,但是您需要将选择框的值更改为颜色或手动执行如下操作:

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>";
  }
于 2013-10-01T15:30:58.963 回答