Matarishvan
Matarishvan

Reputation: 2422

for-loop returns only last result - php

My For loop looks like this

for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 ) 
{
    $thisDate = date( 'Y-m-d', $i );
    $sql = "SELECT * FROM tablename WHERE date = '$thisDate'";
    $res = parent::_executeQuery($sql);
    $rs = parent::getAll($res);         

}

return($rs);

Now return($rs) will give me only last record. How do i get all results obtained inside for loop?

Upvotes: 1

Views: 111

Answers (3)

Niklesh Raut
Niklesh Raut

Reputation: 34914

You can also try like this ,

$sql = "SELECT * FROM tablename WHERE date BETWEEN  '".date('Y-m-d',$startTime)."' AND  '".date('Y-m-d',$endTime)."'";
$res = parent::_executeQuery($sql);
$rs = parent::getAll($res);
return($rs);

This will not require loop, and you will get all result in single query.

Upvotes: 1

Vadivel S
Vadivel S

Reputation: 660

You use array like this

$rs=array();
for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 ) 
{
$thisDate = date( 'Y-m-d', $i );
$sql = "SELECT * FROM tablename WHERE date = '$thisDate'";
$res = parent::_executeQuery($sql);
$rs[]  = parent::getAll($res);         

}

return($rs);

Upvotes: 1

gavgrif
gavgrif

Reputation: 15499

$rs=array();
for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 ) 
{
    $thisDate = date( 'Y-m-d', $i );
    $sql = "SELECT * FROM tablename WHERE date = '$thisDate'";
    $res = parent::_executeQuery($sql);
    array_push($rs,parent::getAll($res));      

}

return($rs);

Upvotes: 1

Related Questions