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++;
}
Dà
Capture20171021_001b.JPG
Per il TRUNCATE non lo sapevo.