如何从array_walk结果中区分出两个数组值

时间:2014-02-01 14:03:59

标签: php arrays function oop mysqli

我在使用array_walk函数从数据库中获取值时遇到问题。 我想传递一个数组来运行,并希望检索不同变量的结果,并需要两者的总和。 恩。

  class algo{

function Gender_count($value){

    $db=new DB_Connect();

    /*add code to get gender and age group value dynamic */

    $query="select count(gender) from tc_fbusermaster where gender="."'".$value."'"."and age between 20 and 21";
    $r=$db->execute($query);
    $count=mysqli_fetch_row($r);
    print_r($count);
    echo $count[0];
}

    $d=new algo();
$a=array('male','female');
array_walk($a,array($d,'Gender_count'));

非常感谢。但我认为你无法理解我的问题。我解释道。我想像这样计算......并且所有这些都应该是来自数据库的动态。如果将来我想再添加一个参数,比如收入,代码可以允许我这样做。

------- 15-20 20-40 40+(年龄组)

男10 35 5

女23 34 48

SUM 33 69 53

提前致谢....

1 个答案:

答案 0 :(得分:0)

您的Gender_count方法执行错误的查询。 $ db-> execute用于执行预准备语句。 这应该有用。

function Gender_count($value){
    $db=new DB_Connect();
    $value = $db->real_escape_string(stripslashes($value))  //sanitising input.
    /*add code to get gender and age group value dynamic */
    $query="select count(gender) as gender_count from tc_fbusermaster where gender="."'".$value."'"."and age between 20 and 21";
    $res=$db->query($query);
    //Check if the query exectued successfully.
    if(!$res){
        die(mysqli_error($db));
    }
    $count=$res->fetch_assoc();
    print_r($count);
}