Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    while intercettare cambio valore

    while ($riga = mysql_fetch_assoc($row))
    {
    blablabla
    }

    ho un semplice ciclo while che mi estrae dei dati mensili che sostanzialmente escono così:

    01
    01
    01
    02
    02
    02
    02
    02
    03
    04
    05
    05
    06
    06

    io vorrei intercettare i cambi di mese ed effettuare una determinata azione, ad esempio:
    - dopo 3 cicli c'è la variazione da 0 a 1 e qui lanciare la funzione aaa()
    - dopo 7 cicli c'è la variazione da 2 a 3 e qui lanciare la funzione aaa()

    spero di essere stato chiaro

    è possibile in qualche modo?

    ciao a tutti e grazie anticipatamente per le eventuali risposte

  2. #2
    Se dovessi farlo a mano su un foglio di carta, quale logica seguiresti?

  3. #3
    Originariamente inviato da filippo.toso
    Se dovessi farlo a mano su un foglio di carta, quale logica seguiresti?
    il problema è proprio nella logica (ovviamente non di quella sul foglio di carta)

  4. #4
    Originariamente inviato da filippo.toso
    Se dovessi farlo a mano su un foglio di carta, quale logica seguiresti?
    Basta pensarci un po'. Se non sei in grado di dirlo, allora significa che non saresti in grado di farlo nemmeno sulla carta.

  5. #5
    Originariamente inviato da filippo.toso
    Basta pensarci un po'. Se non sei in grado di dirlo, allora significa che non saresti in grado di farlo nemmeno sulla carta.
    non ti pare che stai esagerando un pò?

    comunque se non ti va di darmi una mano nessuno ti obbliga, ma essere offensivo è diverso, ti pare?

  6. #6
    Guarda che sto solo cercando di insegnarti un metodo di analisi.

    Se sei in grado di formulare a parole il processo che segue la tua mente per risolvere il problema sulla carta, ti sarà poi facile tradurlo in un algoritmo da implementare in PHP.

    Ma se non parti da una definizione precisa dei passi che devi fare, ti sarà impossibile risolvere questo e qualsiasi altro problema incontrerai in futuro.

  7. #7

    Re: while intercettare cambio valore

    Originariamente inviato da mansportivo
    while ($riga = mysql_fetch_assoc($row))
    {
    blablabla
    }

    ho un semplice ciclo while che mi estrae dei dati mensili che sostanzialmente escono così:

    01
    01
    01
    02
    02
    02
    02
    02
    03
    04
    05
    05
    06
    06

    io vorrei intercettare i cambi di mese ed effettuare una determinata azione, ad esempio:
    - dopo 3 cicli c'è la variazione da 0 a 1 e qui lanciare la funzione aaa()
    - dopo 7 cicli c'è la variazione da 2 a 3 e qui lanciare la funzione aaa()

    spero di essere stato chiaro

    è possibile in qualche modo?

    ciao a tutti e grazie anticipatamente per le eventuali risposte
    up :quote:

  8. #8
    Viva la voglia di fare...

    Codice PHP:
    <?php 

    $values 
    = array(11122333);

    $prev null;
    foreach (
    $values as $value) {
        if (
    $prev != $value) {
            print(
    "[b]New Range[/b]
    "
    );
        }
        print(
    "{$value}
    "
    );
        
    $prev $value;
    }

    ?>

  9. #9
    Originariamente inviato da filippo.toso
    Viva la voglia di fare...

    Codice PHP:
    <?php 

    $values 
    = array(11122333);

    $prev null;
    foreach (
    $values as $value) {
        if (
    $prev != $value) {
            print(
    "[b]New Range[/b]
    "
    );
        }
        print(
    "{$value}
    "
    );
        
    $prev $value;
    }

    ?>
    anzitutto grazie

    ma volevo precisare che avevo fatto qualche tentativo ma non era andato a buon fine per un errore

    non avevo postato il codice per non inseguire una strada già errata all'inizio

    questo è il codice definitivo che ho elaborato in base al tuo suggerimento:

    $values = array(1, 1, 1, 2, 2, 3, 3, 3);
    $prev = null;
    reset($values);
    while (list($chiave, $value) = each($values)) {
    if ($prev != $value and $prev!=null) {
    print("New Range
    ");
    }
    print("{$value}
    ");
    $prev = $value;
    }

    2 precisazioni:

    - la prima è che avevo bisogno di utilizzare il while e quindi l'ho sostituito
    - la seconda ho modificato con questa riga "if ($prev != $value and $prev!=null) {" il tuo codice in quanto sentiva la variazione alla prima occorenza tra 1 e null

    non sono proprio così svogliato e nullafacente come credi....

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.