Prova questo (che è indipendente dalla lunghezza dell'array degli elementi).

Codice PHP:
<?php
$pdo    
= new PDO('mysql:host=127.0.0.1; dbname=tests','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
 
$elementi = array('elemento 1''elemento 2''elemento 3''elemento 4''elemento 5''elemento 6''elemento 7''elemento 8''elemento 9''elemento 10');
$x 0;
$date date('Y-m-d'strtotime("17-01-01"));
 
while(
$x <= 364
{
 
$elemento $elementi[$x count($elementi)];
 
$query1 $pdo->query("INSERT INTO calendario (Data,elementi) VALUES (DATE_ADD('$date', INTERVAL $x DAY),'$elemento')");
 
$x++;
}


Capture20171021_001b.JPG

Per il TRUNCATE non lo sapevo.