sql >> データベース >  >> RDS >> Mysql

foreachループの代わりにmysqlphp関数を結合します

    datatable.netに精通していないので、1回のデータベース呼び出しで結果を取得するオプションを紹介します。必要に応じて調整してください。

    $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();
            }
        }
    }
    

    次の形式の配列を提供します:

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



    1. SQL Server(T-SQL)にテーブルをドロップする前にテーブルが存在するかどうかを確認する4つの方法

    2. SQLServerテーブルを別のファイルグループに移動する

    3. 列のコンマ区切り値をSQLServerの複数の行に分割する

    4. Docker:mysqlコンテナーにリンクされたDrupalコンテナーは、Drupalのインストール中にmysqlに接続できません