0

基本的に最初のMySQL返されたクエリで機能するマウスオーバーホバーを追加しようとしています。ただし、機能しません。私のIF ELSEステートメントを認識せず、ELSEコマンドを返すだけです。

私のデータは

gallery
----------------------
id      sku         img                     types
1       454_red     front.jpg                   F
2       454_red     back.jpg                    F
3       452_red     front.jpg                   F
4       452_red     back.jpg                    F
5       452_red     a1.jpg                      S   
6       452_red     a2.jpg                      S

私のPHP

<?
$imgsql=mysql_query("SELECT * FROM `gallery` WHERE `gallery`.`sku` = '".$r['sku']."' ORDER BY `gallery`.`type` ASC");
while($rimg=mysql_fetch_array($imgsql)){ 
?>
<? if($rimg == $rimg['0']){ ?>
        <div>
            <a href="product.php?prodref=<?=$r['sku']?>"><img src="//super.cdn.com/<?=$r['sku']?>/<?=$rimg['img']?>.jpg" onmouseover="this.src='//super.cdn.com/<?=$r['sku']?>/back.jpg'" onmouseout="this.src='//super.cdn.com/<?=$r['sku']?>/<?=$rimg['img']?>.jpg'"/></a>
        </div>
    <? } else { ?>
        <div>
            <a href="product.php?prodref=<?=$r['sku']?>"><img src="//super.cdn.com/<?=$r['sku']?>/<?=$rimg['img']?>.jpg"/></a>
        </div>
    <? } ?>
<? } ?>

$r["sku"]コードの先頭で呼び出され、商品リスト ループ内にあります。

4

1 に答える 1

2

簡単にするために、次のようにカウンターまたはフラグなどの別の変数を取ります

<?
$count = 1;

$imgsql=mysql_query("SELECT * FROM `gallery` WHERE `gallery`.`sku` = '".$r['sku']."' ORDER BY `gallery`.`type` ASC");


while($rimg=mysql_fetch_array($imgsql)){ 
?>
<? if($count==1){ ?>
        <div>
            <a href="product.php?prodref=<?=$r['sku']?>"><img src="//super.cdn.com/<?=$r['sku']?>/<?=$rimg['img']?>.jpg" onmouseover="this.src='//super.cdn.com/<?=$r['sku']?>/back.jpg'" onmouseout="this.src='//super.cdn.com/<?=$r['sku']?>/<?=$rimg['img']?>.jpg'"/></a>
        </div>
    <? } else { ?>
        <div>
            <a href="product.php?prodref=<?=$r['sku']?>"><img src="//super.cdn.com/<?=$r['sku']?>/<?=$rimg['img']?>.jpg"/></a>
        </div>
    <? } ?>
<? 
$count = 0;
} 

?>
于 2012-10-14T11:03:31.820 に答える