Php MySQL:按if语句选择奇数行
我在我的网站上有一个简短的MySQL查询:Php MySQL:按if语句选择奇数行,php,jquery,mysql,mysqli,Php,Jquery,Mysql,Mysqli,我在我的网站上有一个简短的MySQL查询: ... for($i=0;$i<$sql->getRows();$i++) { $id = $sql->getValue("id"); $name = $sql->getValue("name"); } 。。。 对于($i=0;$igetRows();$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");
}
。。。
对于($i=0;$igetRows();$i++){
$id=$sql->getValue(“id”);
$name=$sql->getValue(“name”);
}
有没有办法通过if语句获取查询中的每一个奇数行(第二行!)
e、 g
($i=0;$igetRows();$i++)的{
$id=$sql->getValue(“id”);
$name=$sql->getValue(“name”);
如果(行=奇数){
//做点什么
}否则{
//做点别的
}
}
假设奇数是一个数字,当它被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
}
}
您是如何定义奇数行的?表中第二行可能重复。您的代码似乎没有多大意义。我假设一个名为
getRows()
的方法将从查询中获取所有结果集,但是您没有处理结果数组您正在每行递增两次$i
,并且isEven
函数可以是返回$rowNumber%2==0
。啊,是的,我的错,我最初在foreach循环中使用了它,所以是手动递增的。当我把它改回for循环时,我忘了删除那个增量
/**
*
* @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
}
}
/**
*
* @param int $rowNumber
* @return bool event number
*/
function isEven($rowNumber){
return $rowNumber % 2 == 0;
}