Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1

    Trovare sequenza numerica

    Buon giorno.
    Nella tabella tb_ferie ho due campi "dal","al" per tot operatori, esempio:

    id | id_operatore | dal | al
    1 1 2018-05-01 2018-05-16
    2 1 2018-05-30 2018-05-31
    3 2 2018-05-01 2018-05-16

    Devo trovare per ogni record la sequenza numerica che manca.
    creo l'array da passare alla funzione "trovaNumeroMancante" in questo modo:
    Codice PHP:
    $arrDal = array();
    while (
    $rows mysqli_fetch_object($query)) {
    $arrDal[]     = substr($rows->dal,8,2);
    $arrDal[]     = substr($rows->al,8,2);
    }
    echo 
    trovaNumeroMancante($arrDal);

    function 
    trovaNumeroMancante($vettore){
    # $vettore = array(1,3,4,5,7,9,11);   
     # contiamo gli elementi dell'array    
    $l count($vettore);        
    # calcoliamo le differenze tra i numeri    
    for($i=0$i<=$l-1$i++)    {        
    @
    $differenza $vettore[$i+1]-$vettore[$i];        
    # se la differenza tra un numero e quello successivo non è 1..        
    if($differenza != 1)            {            
    for(
    $y=1$y<=$differenza-1$y++)            {        
    # .. viene aggiunto il valore mancante            
    $val $vettore[$i]+$y;        
    # stampiamo i valori mancanti            
    echo $val;            
    }        
    }    
    }

    Il problema è che, per ogni record dovrebbe tirar fuori la sequenza mancante.
    Ma, da come ho fatto io, crea un unico array con tutti i valori quindi mi ritrovo
    $array(1,16,30,31,13,18), cosi facendo la funzione crea la sequenza mancante da 2 a 29.

    Invece vorrei che fosse da 2 a 15, poi da 14 a 17.

    Come risolvo?
    Grazie.
    Ultima modifica di ANTAGONIA; 24-05-2018 a 10:35

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.