PHP中使用的HTML元素,确定奇数/偶数,代码忽略背景图像


PHP used in HTML elements, to determine odd/even, code ignores background image

我创建了一个页面来显示保存到数据库中的消息。消息以图片显示。我有以下的DIV布局:

<div id="MessageWrapper">
    <div id="MessagePicture"></div>
    <div id="MessageText">
        <div id="MessageTitle"></div>
        <div id="MessageContent"></div>
    </div>
</div>

我想要div 'MessagePicture'和'MessageText'交替他们的位置(左和右)所以最后的代码我有:

$i = 0;
while ($Row = mysql_fetch_assoc($Result)) 
{
$class = (++$i % 2) ? 'even' : 'odd';
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>  

我面临的问题:虽然解析的源代码在背景图像的url中有不同的代码($Row[' code ']),但所有消息都显示相同的图像。它总是第一个($Row['Code'])的第一个图像被输入到数据库。

有人知道如何解决这个问题吗?

给每个div一个唯一的id。例如:

$i = 0;
while ($Row = mysql_fetch_assoc($Result)) 
{
    $class = (++$i % 2) ? 'even' : 'odd';
    echo '
<div id="MessageWrapper'.$i.'">
<div id="MessagePicture'.$i.'" class="'.$class.'">
    <style>
        #MessagePicture'.$i.' { 
            background-image: url(../../../Images/'.stripslashes($Row['Code']).'.png);  
        }
    </style>
... etc ...
}

你最终得到第一个div具有MessagePicture1id和相应的#MessagePicture1样式,下一个MessagePicture2,以此类推。