Salve, ancora qui a sbattere la testa, col vs. aiuto spero di sbloccare la situazione non so più cosa provare.
Ho un errore che da due giorni non mi dà pace, ci giro intorno, ho riscritto il ciclo decine di volte ma nel database mi ritrovo l'esatto doppio di quanto dovrei avere.
l'utente sceglie per quante settimane deve ripetere lo stesso appuntamento, orari uguali ma date ovviamente diverse, se per esempio è di venerdi e lo vuole per 10 settimane sempre il venerdi, eseguo la funzione duplica() da una chiamata ajax portando con GET, id_evento e il numero di settimane da ripetere.

Mi spiego meglio se scrivo codice.

Codice PHP:
public function duplica(){
         
             
            
$id_events   $_GET['id_evento'];
            
$ciclo       $_GET['ciclo'];
            
// prelevo il singolo evento e ne prelevo i dati.
            
            
$event =$this->model->r_1_event($id_events); 

            
$istruttore  $event[0]->istruttore   ;
            
$start       $event[0]->start   ;
            
$end         $event[0]->end;
            
$daora       $event[0]->daora;
            
$adora       $event[0]->adora;
            
$sala        $event[0]->sala;
            
$istruttore  $event[0]->istruttore;
            
$corsi       $event[0]->corsi;
            
$persone     $event[0]->persone;
            
$admin       $event[0]->admin;
            
$id_admin    $event[0]->id_admin;
            
$info        $event[0]->info;
            
$title       $event[0]->title;
           
            
$datadate('Y-m-d'strtotime($start)) ;
            
            
            for (
$i 0$i 2$i++) {           // ho messo a due per testare, nel DB ne ha inserito 4
             
            
$newdate strtotime '+1 week' strtotime $data ) ) ; //   l'operazione aggiunge 7 giorni

                        
$newdate date 'Y-m-d' $newdate );
                        
$data $newdate;

                        
                        
$giorno date('d'strtotime($data) );;
                        
$mese date('m'strtotime($data) );
                        
$anno date('Y'strtotime($data) );

                          
                            
$datadispon = array(
                                     
'start'        => date('Y-m-d',strtotime($data) ),
                                     
'end'          => date('Y-m-d',strtotime($data) ),
                                     
'daora'        => $daora,
                                     
'adora'        => $adora,
                                     
'sala'         => $sala,
                                     
'istruttore'   => $istruttore,
                                     
'corsi'        => $corsi,
                                     
'persone'      => $persone,
                                     
'admin'        => $admin,
                                     
'id_admin'     => $id_admin,
                                     
'info'         => $info,
                                     
'title'        => $title,
                                     
'created_date' => date('Y-m-d'),
                                     
'status'       => 1
                                     
);

                             
// duplica la lezione  e restituisce il numero relativo
                           
                                
$this->model->c_object('events'$datadispon);
            
                                if(
$this->db->affected_rows() > 0)
                                  {
                                       
$insert_id $this->db->insert_id();
                                       echo 
' inserito '.$insert_id.'<br>';
                                  }    

                    }     
//  ciclo for
            
                       
                        
show_error('proc finita ');

 
// nel model questa funzione inserisce nella tabella l'array passato 

function c_object($table$data) {
         
$this->db->insert($table$data);
                                       

Ho provato tutti i modi, tutte le prove mi stampano un numero esatto di cicli ma nella tabella
ho sempre il doppio di quello richiesto.

Mi sembra di impazzire, tutto sembra esatto ma non lo vedo, c'è per forza un errore ma non lo vedo!!!!
Qualcuno riesce a vedere se mi sfugge e cosa mi sfugge ??

Grazie.