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 に答える