0

我创建了一个页面来显示保存到数据库中的消息。这些消息用图片显示。我有以下 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']) 的第一个图像。

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

4

1 回答 1

0

给你的每个 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具有idofMessagePicture1和相应#MessagePicture1样式的样式,下一个具有MessagePicture2,依此类推。

于 2013-06-13T14:32:24.417 回答