1

ループがどの行にあるかをテストしようとしており、それが 6 以上の場合は、次の反復のために $TESTIMAGE 変数をスパン要素に接続します。

コードを実行すると、最初の行に続くすべてに変数がプラグインされます。

While($row = mysql_fetch_array($result))

{

    //assign variables
    $title = $row['title'];
    $url = $row['location'];
    $image = "/waves/files/images/games/$title.png";

    echo "
            <span class='dropt'>

                <a href=$url>$title</a>

                        <span class='$TESTIMAGE'>
                            <img src='$image'>
                        </span>

            </span>
            <br />
    ";



//Test to see which row we're on -- adjust image position
If (mysql_num_rows($result) >= 6)
{
$TESTIMAGE = "image_display_up";
}   



}
4

5 に答える 5

2

増加するインデックスを使用します。

$i = 0;
while($row = mysql_fetch_array($result)){
    $i += 1;
}
于 2012-12-11T00:41:08.580 に答える
0

これはmysql_num_rows()、結果の変更の行数が変わらないため、ループの反復ごとに同じ正確な値が返されるためです。

やりたいことを実行するには、カウンターを実装する必要があります。

于 2012-12-11T00:42:04.197 に答える
0

このようにしてみてください:

$i = 1;

While($row = mysql_fetch_array($result)) {
    if(!($i%6)) {  // will enter here on the 6th try.

    //assign variables
    $title = $row['title'];
    $url = $row['location'];
    $image = "/waves/files/images/games/$title.png";

        echo "
        <span class='dropt'>

            <a href=$url>$title</a>

                    <span class='$TESTIMAGE'>
                        <img src='$image'>
                    </span>

            </span>
            <br />
       ";
  }
  if($i!=6)  // this way it remains on 6
     $i++;

}

于 2012-12-11T00:42:49.720 に答える
0
$i=0;
While($row = mysql_fetch_array($result)) {
    //assign variables
    $title = $row['title'];
    $url = $row['location'];
    $image = "/waves/files/images/games/$title.png";
    $TESTIMAGE = ($i++ >= 6) ? "image_display_up" : "";

    echo "
            <span class='dropt'>
                <a href=$url>$title</a>
                        <span class='$TESTIMAGE'>
                            <img src='$image'>
                        </span>
            </span>
            <br />
    ";
}​
于 2012-12-11T00:43:29.683 に答える
0

mysql_num_rows($result) への呼び出しは、常に同じ数を返します。代わりに、反復ごとにインデックスをインクリメントします。

$idx = 0
while (blah) {
    if ($idx >= 6)
    {
        $TESTIMAGE = "image_display_up";
    }   
    $idx += 1
}
于 2012-12-11T00:43:32.387 に答える