Php 确定CSS类的偶数/奇数
我读过很多关于确定奇偶数并用它来改变div类的信息 在我的例子中,我希望在每次发布新消息时切换名为MessagePicture和MessageText的div的位置Php 确定CSS类的偶数/奇数,php,css,Php,Css,我读过很多关于确定奇偶数并用它来改变div类的信息 在我的例子中,我希望在每次发布新消息时切换名为MessagePicture和MessageText的div的位置 图片左,文字右 图片右,文本左 图片左,文字右 ect 这是我用来显示消息的代码,我还包括了我的一次尝试,以使偶数/奇数代码正常工作 有人能告诉我应该做些什么来让它工作吗 <?PHP $Query = " SELECT ID,
<?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%,并且正在缩小。但大多数人在解决方案兼容性方面比我更保守。