php - MySQL:通过if语句选择奇数行

标签 php jquery mysql mysqli

我的网站上有一个简短的 MySQL 查询:

...

for($i=0;$i<$sql->getRows();$i++) {
    $id = $sql->getValue("id");
    $name = $sql->getValue("name");
}

有没有办法通过 if 语句获取查询中的每个奇数行(每隔两行!)?

例如

for($i=0;$i<$sql->getRows();$i++) {
    $id = $sql->getValue("id");
    $name = $sql->getValue("name");

    if(ROW = ODD) {
        // DO SOMETING
    } else {
        // DO SOMETING ELSE
    }
}

最佳答案

假设奇数是除以 2 后无法返回整数的数字,您可以尝试如下操作:

/**
 * 
 * @param int $rowNumber
 * @return bool event number
 */
function isEven($rowNumber){
    $r = $rowNumber/2;
    return ctype_digit((string) $r);  
}

for($i=0;$i<$sql->getRows();$i++){

    if(isEven($i)){
        //do even code access the rowdata with ro
    }
    else{
        //do odd code
    }    
}
如果字符串中的所有字符都是数字,

ctype_digit() 将返回 true。如果是奇数,结果将包含小数点,因此返回 false。

根据 @DrKey 评论,他是对的,一个更干净的 isEven 函数看起来像

/**
 * 
 * @param int $rowNumber
 * @return bool event number
 */
function isEven($rowNumber){
    return $rowNumber % 2 == 0;
}

关于php - MySQL:通过if语句选择奇数行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940255/

相关文章:

php - sudo 与 php 更改文件所有者

php - 如何使用 PHPUnit 测试特定方法

javascript - 使用 JQuery Draggable sortable 和 div

php - 如何在 Xcode 5 中使用 UITextField 内容更新 MySQL 数据库?

php - if 语句取决于数组中数据的存在,但如何在检查数组时不丢失数组中的第一项?

javascript - 存储 ASCII 艺术以用作简单 JavaScript 游戏中的角色。我可以将它存储在角色的对象中吗?

jquery - 单击链接时,导航栏与固定导航 Bootstrap 页面中的内容重叠

mysql - 重写SQL查询修复MySQL 5.7严格模式导致的功能依赖问题

mysql - Woocommerce 查询返回产品,按total_sales 排序

PHP MySQL INNER JOIN 在第一个周期后停止工作