【问题标题】:How to return a specific row in PHP and MySQL?如何在 PHP 和 MySQL 中返回特定行?
【发布时间】:2012-10-14 10:55:17
【问题描述】:

我正在尝试添加一个鼠标悬停,它基本上适用于第一个 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"] 在代码顶部调用,它位于产品列表循环内。

【问题讨论】:

  • $row['0']...?这是哪里来的……? “不起作用”到底是什么意思?
  • if($rimg == $rimg['0'])...?这种情况有什么意义?
  • 你到底想完成什么,因为 deceze 是对的,如果声明完全没有意义。
  • 我想让第一条记录做点什么,否则做点别的

标签: php html mysql loops


【解决方案1】:

为简单起见,然后取另一个变量,例如计数器或标志,如下所示

<?
$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;
} 

?>

【讨论】:

  • 啊,我也在考虑循环计数器+1 ...我将如何完成 MySQL 计数 FYI
  • 如何返回特定的行?
  • mysql_query() 为您提供结果集,因此如果它有一行,那么您可以直接使用 mysql_fetch_array 而没有循环或更多行,您必须通过循环对其进行迭代
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-27
相关资源
最近更新 更多