sql >> Database >  >> RDS >> Mysql

JOIN mysql php-functie in plaats daarvan foreach-lus

Omdat ik niet bekend ben met datable.net, laat ik je een optie zien om je resultaten op te halen met één database-aanroep. Maak waar nodig aanpassingen.

$rs1 = $db->prepare('SELECT * FROM activity;');    
$rs1->execute();
$rows = $rs1->fetchAll();
$daterange = new DatePeriod($startDate, $interval ,$endDate);
$activities = array();
if (count($rows) > 0)
{
    foreach ($rows as $row)
    {
        $activities[$row['timestamp_day']][] = $row['name'];
    }
    foreach($daterange as $date)
    {
        $formattedData = $data  //format your date to timestamp here
        if (!array_key_exists($formattedDate, $activities))
        {
             $activities[$formattedDate] = array();
        }
    }
}

Geeft u een array met het volgende formaat:

$activities = array(
    [1394319600] => array('Meeting', 'Car repair') 
    [1394406000] => array('Travel') 
    [1394492400] => array('Work') 
    [1394578800] => array('Vacation') 
)



  1. PGError:geen verbinding met de server na inactiviteit

  2. Instant-clientstatus van Oracle

  3. Met behulp van Python snel veel kolommen invoegen in Sqlite\Mysql

  4. Oracle-query om meerdere kolommen in één kolom te converteren