如何回应李的个人css课程?

时间:2014-10-15 17:45:57

标签: php css class echo

<ol class="rectangle-list">
<?php
    include('dbconnect.php');

    $result=mysqli_query($con,"SELECT tip_unitate,tip_id FROM tipunitate ORDER BY tip_id ASC");
    while($row = mysqli_fetch_array($result))
    {
        $pid=$row['tip_id'];
        $unitate=$row['tip_unitate'];
        $count=mysqli_query($con,"SELECT COUNT(*) AS num FROM unitate WHERE tip_id='$pid'");
        $rowss = mysqli_fetch_array($count);
        $number=$rowss['num'];
        echo "<li><a href=\"map.php?pid=".$pid."\">".$unitate."(".$number.")</a></li>";

    }
    mysqli_close($con);
?>
</ol>

这是我的代码。我需要的是将单个类分配给该OL中的li。有8个人。我已经看到很多关于类似问题的答案,但由于我的PHP知识不足,我自己也做不到。

4 个答案:

答案 0 :(得分:1)

您是否考虑过使用CSS来完成手头的任务?

请查看http://www.w3schools.com/cssref/sel_nth-child.asp 这里有一个简单快捷的例子http://jsfiddle.net/2r3kxr8g/

li:nth-child(2) {
  background: #d70;
  padding: 9px;
}

您唯一必须记住的是,您应该通过在CSS中明确定义它们来限制您想要设置样式的元素

答案 1 :(得分:1)

如果您需要每个li标记的唯一标识符,最简单的解决方案是将$pid变量指定为元素的id。像这样:

echo '<li id="pid' . $pid . '">...</li>';

然后,您可以根据其唯一ID为这些元素指定样式。例如:

<style>
#pid1 { ... }
#pid2 { ... }
...
</style>

您只需要跨多个元素共享的样式类。在这种情况下,你可以这样做:

// array keys should be the PIDs associated with the classes you wish to assign
// define this array outside your loop
$styles = array(
    0 => 'style1',
    8 => 'style8',
);

然后在你的循环中:

echo "<li class=\"{$styles[$pid]}\"><a href=\"map.php?pid={$pid}\">{$unitate}({$number})</a></li>";

答案 2 :(得分:0)

你为什么不这样做     echo“”。$ unitate。“(”。$ number。“)”;

$ i是一个计数器

答案 3 :(得分:0)

我可能会为此创建一个自定义函数,特别是如果有超过2或3个不同类的潜力。这样,您可以帮助维护代码的可读性并稍微划分它。

在下面的示例中,我使用$pid作为参考点来确定要使用的类。您的实际使用案例可能有所不同。

function get_li_class( $pid ) {

     switch ( $pid ) :
          case 1:
               return 'apple';
               break;
          case 2:
               return 'house';
               break;
          case 'apple':
               return 'dog';
               break;
          // more and more options if you'd like
          default:
               return ""; // or some other class
               break;
     endswitch;

}

while ( $row = mysqli_fetch_array($result) ) {
     // your code here
     $class = get_li_class($pid);
     echo '<li class="' . $class . '"><a href="#">...</a></li>';
}