Php 确定CSS类的偶数/奇数

Php 确定CSS类的偶数/奇数,php,css,Php,Css,我读过很多关于确定奇偶数并用它来改变div类的信息 在我的例子中,我希望在每次发布新消息时切换名为MessagePicture和MessageText的div的位置 图片左,文字右 图片右,文本左 图片左,文字右 ect 这是我用来显示消息的代码,我还包括了我的一次尝试,以使偶数/奇数代码正常工作 有人能告诉我应该做些什么来让它工作吗 <?PHP $Query = " SELECT ID,

我读过很多关于确定奇偶数并用它来改变div类的信息

在我的例子中,我希望在每次发布新消息时切换名为MessagePicture和MessageText的div的位置

  • 图片左,文字右
  • 图片右,文本左
  • 图片左,文字右
  • ect 这是我用来显示消息的代码,我还包括了我的一次尝试,以使偶数/奇数代码正常工作

    有人能告诉我应该做些什么来让它工作吗

        <?PHP
    
        $Query =
        "
                SELECT
                    ID,
                    NameBox,
                MessageBox,
                Code
            FROM
                messages
                ORDER BY
                    ID
                DESC LIMIT 10
        ";
    
        $Result = mysql_query($Query);
    
            if(!$Result)
                {
                echo 'ERROR: '.mysql_error();
                }
    
            else
                {
                if(mysql_num_rows($Result) == 0)
                    {
                        echo 'No results';
                    }
    
                    else
                        {
                        $i = 0;
                    $class = (++$i % 2) ? 'even' : 'odd';
                        while
                        ($Row = mysql_fetch_assoc($Result))
    
                            echo '
    
    <div id="MessageWrapper">
        <div id="MessagePicture" class="'.$class.'">                                                                                
            <style>                                             
            #MessagePicture { 
            background-image: url(../../../Images/'.stripslashes($Row['Code']).'.png);  
            background-repeat: no-repeat; 
            background-position: center
            </style>
            </div>
    
        <div id="MessageText" class="'.$class.'">
    
            <div id="MessageTitle">
    
                <h1>'.$Row['NameBox'].'</h1>
    
            </div>
    
            <div id="MessageContent">                                                   
                <p>'.nl2br($Row['MessageBox']).'</p>
            </div>
    
        </div>
    
    </div>  
    
    ';}}}?>
    

    您的
    $i
    始终保持
    0
    。在while循环中添加
    $i++
    ,使其递增

    您可以在一行中完成此操作:

    $class = ($i++ % 2 == 0) ? 'even' : 'odd';
    
    完整示例:

    $i = 0;
    while ($Row = mysql_fetch_assoc($Result)) {
      $class = ($i++ % 2 == 0) ? 'even' : 'odd';
      //echo ...
    }
    

    您的
    $i
    始终保持
    0
    。在while循环中添加
    $i++
    ,使其递增

    您可以在一行中完成此操作:

    $class = ($i++ % 2 == 0) ? 'even' : 'odd';
    
    完整示例:

    $i = 0;
    while ($Row = mysql_fetch_assoc($Result)) {
      $class = ($i++ % 2 == 0) ? 'even' : 'odd';
      //echo ...
    }
    

    这可能不是您的确切问题的答案,但由于任何标记都已经包含关于哪些子元素行是偶数,哪些是奇数的信息,而且CSS能够区分这些子元素行,因此您可以使用纯CSS实现这一点,这是我在这里大胆提供的

    使用CSS选择器分别选择偶数和奇数子项。这样,您也不必更改或标记标记。例如:

    <ul>
        <li>Apples</li>
        <li>Oranges</li>
        <li>Bananas</li>
        <li>Pears</li>
        <li>Pineapples</li>
    </ul>
    
    查看以下权威页面了解更多详细信息和用法(如
    nth child(5n+3)
    ):


    这可能不是您的确切问题的答案,但由于任何标记都已经包含关于哪些子元素行是偶数,哪些是奇数的信息,而且CSS能够区分这些子元素行,因此您可以使用纯CSS实现这一点,这是我在这里大胆提供的

    使用CSS选择器分别选择偶数和奇数子项。这样,您也不必更改或标记标记。例如:

    <ul>
        <li>Apples</li>
        <li>Oranges</li>
        <li>Bananas</li>
        <li>Pears</li>
        <li>Pineapples</li>
    </ul>
    
    查看以下权威页面了解更多详细信息和用法(如
    nth child(5n+3)
    ):



    如果您正确设置代码格式,人们将更容易帮助您。旁注:您一次又一次地用相同的ID定义新的HTML元素(MessageContent、MessageText等)。您应该添加一个数字(例如,
    \u$i
    )使其唯一,或者用它来创建一个类。我不明白,ID名称是唯一的,它们都是不同的div,它们只共享名称的一部分(消息)。这是我自己的参考,以了解他们是为网站的哪一部分。如果你的代码格式正确,人们将更容易帮助你。旁注:您一次又一次地用相同的ID定义新的HTML元素(MessageContent、MessageText等)。您应该添加一个数字(例如,
    \u$i
    )使其唯一,或者用它来创建一个类。我不明白,ID名称是唯一的,它们都是不同的div,它们只共享名称的一部分(消息)。这是我自己的参考,以了解他们的网站的哪一部分。或简单的
    (++$i%2)?'偶数“:“奇数”我试过了,所有结果(消息)都保持一致。它不会增加$i=0$类=(++$i%2)?'偶数“:“奇数”;while($Row=mysql\u fetch\u assoc($Result))echo“你能用修改过的代码更新你的问题吗,这样我们就可以看到你把增量放在哪里了?把这行放在while循环里面。把这段代码放在while循环中会破坏消息的显示。不显示任何消息,仅显示div的空壳。或简单的
    (++$i%2)?'偶数“:“奇数”我试过了,所有结果(消息)都保持一致。它不会增加$i=0$类=(++$i%2)?'偶数“:“奇数”;while($Row=mysql\u fetch\u assoc($Result))echo“你能用修改过的代码更新你的问题吗,这样我们就可以看到你把增量放在哪里了?把这行放在while循环里面。把这段代码放在while循环中会破坏消息的显示。不显示任何消息,只显示div的空外壳。但这不适用于所有浏览器(请参见)@GeraldSchneider True,True。不过我还是会这么做。InternetExplorer8的市场份额低于20%,并且正在缩小。但大多数人在解决方案兼容性方面比我更保守。但这不适用于所有浏览器(请参阅)@GeraldSchneider True,True。不过我还是会这么做。InternetExplorer8的市场份额低于20%,并且正在缩小。但大多数人在解决方案兼容性方面比我更保守。