Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 43 di 43
Like Tree4Likes

Discussione: Visualizzare zodiaco

  1. #31
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    e questo?


    Codice PHP:
    $datanascita $row['birthday']; 
    Codice PHP:

    <?php
    require_once ("../funzioni/astro.php");

    //row['birthday']; ('2020/05/31' è solo per test)
    $datanascita $row['birthday'];

    // scorporo data in GIORNO e MESE
    $day   = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));
    echo(
    getsign($day$month));  


    ?>
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 21.21.04

  2. #32
    darbula non è connesso AlterGuru
    Data registrazione
    24-04-2011
    Messaggi
    2,158

    Predefinito

    Codice PHP:
    $date = new DateTime($row['birthday'], new DateTimeZone('UTC'));
    $day = (int) $date->format('j');
    $month = (int) $date->format('n');
    echo 
    getsign($day$month); 

  3. #33
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    il risultato rimane invariato anche dopo la modifica

    Birthday

    1998-12-22

    risultato: Sagittarius - Sagittario (23 novembre-21 dicembre)

    Codice PHP:
    if(($month==11 && $day>22)||($month==12 && $day<23)) {
            
    $mysign "Sagittarius";
        } 
    dovrebbe essere

    Capricorn - Capricorno (22 dicembre-20 gennaio)

    Codice PHP:
    if(($month==12 && $day>22)||($month==&& $day<21)) {
            
    $mysign "capricorn";
        } 

    quale di questi 2 codici e' esatto, perche' quello modificato con Wikipedia non funziona?

    questo funziona

    Codice PHP:

    <?php // visualizza i segni zodiaci in base al calcolo del mese sul campo birthday

    function getsign($day,$month) {
        if((
    $month==&& $day>20)||($month==&& $day<20)) {
            
    $mysign "aquarius";
        }
        if((
    $month==&& $day>18 )||($month==&& $day<21)) {
            
    $mysign "pisces";
        }
        if((
    $month==&& $day>20)||($month==&& $day<21)) {
            
    $mysign "aries";
        }
        if((
    $month==&& $day>20)||($month==&& $day<22)) {
            
    $mysign "taurus";
        }
        if((
    $month==&& $day>21)||($month==&& $day<22)) {
            
    $mysign "gemini";
        }
        if((
    $month==&& $day>21)||($month==&& $day<24)) {
            
    $mysign "cancer";
        }
        if((
    $month==&& $day>23)||($month==&& $day<24)) {
            
    $mysign "leo";
        }
        if((
    $month==&& $day>23)||($month==&& $day<24)) {
            
    $mysign "Virgo" '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo2.png" width="15px" height="15px"></img>';
        }
        if((
    $month==&& $day>23)||($month==10 && $day<24)) {
            
    $mysign "libra";
        }
        if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
            
    $mysign "scorpio";
        }
        if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
            
    $mysign "Sagittarus" '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius2.png" width="15px" height="15px"></img>';
        }
        if((
    $month==12 && $day>22)||($month==&& $day<21)) {
            
    $mysign "capricorn";
        }
        return 
    $mysign;
    }

    ?>

    Questo e' l'altro codice con le date dei mesi prese da Wikipedia, ma sembra che non funziona su alcuni mesi

    Codice PHP:

    <?php // visualizza i segni zodiaci in base al calcolo del mese sul campo birthday

    ///La sequenza

    //La sequenza nasce dall'intersezione tra i 4 elementi e i 3 tipi, esaurendo in particolare ogni possibile combinazione.
    //  Segno                            Durata
    //  Aries - Ariete                  21 marzo-20 aprile
    //  Taurus - Toro                  21 aprile-20 maggio
    //  Gemini - Gemelli              21 maggio-21 giugno
    //  Cancer - Cancro              22 giugno-22 Luglio
    //  Lion - Leone                  23 luglio-23 agosto
    //  Virgo - Vergine              24 agosto-22 settembre
    //  Libra - Bilancia             23 settembre-22 ottobre
    //  Scorpio- Scorpione            23 ottobre-22 novembre
    //  Sagittarius - Sagittario     23 novembre-21 dicembre
    //  Capricorn - Capricorno          22 dicembre-20 gennaio
    //  Aquario - Aquarius              21 gennaio-19 febbraio
    //  Pisces - Pesci                  20 febbraio-20 marzo 

    function getsign($day,$month) {

        
    //  Aquario - Aquarius              21 gennaio-19 febbraio 
        
    if(($month==&& $day>21)||($month==&& $day<19)) {
            
    $mysign "aquarius";
        }
        
    //  Pisces - Pesci                  20 febbraio-20 marzo 
        
    if(($month==&& $day>20 )||($month==&& $day<20)) {
            
    $mysign "pisces";
        }
        
    //  Aries - Ariete                  21 marzo-20 aprile
        
    if(($month==&& $day>21)||($month==&& $day<20)) {
            
    $mysign "Aries";
        }
        
    //  Taurus - Toro                  21 aprile-20 maggio
        
    if(($month==&& $day>21)||($month==&& $day<20)) {
            
    $mysign "taurus";
        }
        
    //  Gemini - Gemelli              21 maggio-21 giugno
        
    if(($month==&& $day>21)||($month==&& $day<21)) {
            
    $mysign "Gemini - Gemelli (21 maggio-21 giugno)"'&nbsp;&nbsp;' 
            
    '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini2.png" width="20px" height="20px"></img>'
            
    ;
        }
        
    //  Cancer - Cancro              22 giugno-22 Luglio
        
    if(($month==&& $day>22)||($month==&& $day<22)) {
            
    $mysign "cancer";
        }
        
    //  Lion - Leone                  23 luglio-23 agosto
        
    if(($month==&& $day>23)||($month==&& $day<23)) {
            
    $mysign "leo";
        }
        
    //  Virgo - Vergine              24 agosto-22 settembre
        
    if(($month==&& $day>24)||($month==&& $day<22)) {
            
    $mysign "Virgo" '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo2.png" width="15px" height="15px"></img>';
        }
        
    //  Libra - Bilancia             23 settembre-22 ottobre
        
    if(($month==&& $day>23)||($month==10 && $day<22)) {
            
    $mysign "libra";
        }
        
    //  Scorpio- Scorpione            23 ottobre-22 novembre
        
    if(($month==10 && $day>23)||($month==11 && $day<22)) {
            
    $mysign "scorpio";
        }
        
    //  Sagittarius - Sagittario     23 novembre-21 dicembre
        
    if(($month==11 && $day>23)||($month==12 && $day<21)) {
            
    $mysign "Sagittarus" '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius2.png" width="15px" height="15px"></img>';
        }
        
    //  Capricorn - Capricorno          22 dicembre-20 gennaio
        
    if(($month==12 && $day>22)||($month==&& $day<20)) {
            
    $mysign "capricorn";
        }
        
        return 
    $mysign

    }    

    ?>

  4. #34
    GraphOGLRisorse è connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,784

    Predefinito

    Quello di wiki, predendone uno come esmpio:
    Codice PHP:
        //  Aquario - Aquarius              21 gennaio-19 febbraio 
        
    if(($month==&& $day>21)||($month==&& $day<19)) {
            
    $mysign "aquarius";
        } 
    Se il periodo è dal 21 Gennaio al 19 Febbraio, così come è impostato nel codice, indica un periodo dal 22 gennaio al 18 febbraio.

    Dovrebbe essere così, per indicare il periodo giusto.
    Codice PHP:
        //  Aquario - Aquarius              21 gennaio-19 febbraio 
        
    if(($month==&& $day>20)||($month==&& $day<20)) {
            
    $mysign "aquarius";
        } 
    dovrebbe essere

    Capricorn - Capricorno (22 dicembre-20 gennaio)
    Infatti, provando la data menzionata dalei con i valori modificati nel codice, restituisce il segno del Capricorno.
    Codice PHP:
    function getsign($day,$month) {

        
    //  Aquario - Aquarius              21 gennaio-19 febbraio 
        
    if(($month==&& $day>20)||($month==&& $day<20)) {
            
    $mysign "aquarius";
        }
        
    //  Pisces - Pesci                  20 febbraio-20 marzo 
        
    if(($month==&& $day>19 )||($month==&& $day<21)) {
            
    $mysign "pisces";
        }
        
    //  Aries - Ariete                  21 marzo-20 aprile
        
    if(($month==&& $day>20)||($month==&& $day<21)) {
            
    $mysign "Aries";
        }
        
    //  Taurus - Toro                  21 aprile-20 maggio
        
    if(($month==&& $day>20)||($month==&& $day<21)) {
            
    $mysign "taurus";
        }
        
    //  Gemini - Gemelli              21 maggio-21 giugno
        
    if(($month==&& $day>20)||($month==&& $day<22)) {
            
    $mysign "Gemini - Gemelli (21 maggio-21 giugno)"'&nbsp;&nbsp;' 
            
    '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini2.png" width="20px" height="20px"></img>'
            
    ;
        }
        
    //  Cancer - Cancro              22 giugno-22 Luglio
        
    if(($month==&& $day>21)||($month==&& $day<23)) {
            
    $mysign "cancer";
        }
        
    //  Lion - Leone                  23 luglio-23 agosto
        
    if(($month==&& $day>22)||($month==&& $day<24)) {
            
    $mysign "leo";
        }
        
    //  Virgo - Vergine              24 agosto-22 settembre
        
    if(($month==&& $day>23)||($month==&& $day<23)) {
            
    $mysign "Virgo" '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo2.png" width="15px" height="15px"></img>';
        }
        
    //  Libra - Bilancia             23 settembre-22 ottobre
        
    if(($month==&& $day>22)||($month==10 && $day<23)) {
            
    $mysign "libra";
        }
        
    //  Scorpio- Scorpione            23 ottobre-22 novembre
        
    if(($month==10 && $day>22)||($month==11 && $day<23)) {
            
    $mysign "scorpio";
        }
        
    //  Sagittarius - Sagittario     23 novembre-21 dicembre
        
    if(($month==11 && $day>22)||($month==12 && $day<22)) {
            
    $mysign "Sagittarus" '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius1.png" width="15px" height="15px"></img>'
            
    '&nbsp;&nbsp;' '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius2.png" width="15px" height="15px"></img>';
        }
        
    //  Capricorn - Capricorno          22 dicembre-20 gennaio
        
    if(($month==12 && $day>21)||($month==&& $day<21)) {
            
    $mysign "capricorn";
        }
        return 
    $mysign

    Cordiali saluti.
    blackskyisback likes this.

  5. #35
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    Interessante, sembra funzionare

    non ho capito la logica di togliere ed aggiungere un giorno pero'

  6. #36
    GraphOGLRisorse è connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,784

    Predefinito

    La logica è semplice.

    Se si pone una variabile maggiore di un valore, tale valore non sarà preso in considerazione. Ovvero saranno presi solo i valori superiori.
    Se si pone una variabile minore di un valore, tale valore non sarà preso in considerazione. Ovvero saranno presi solo i valori inferiori.

    Comunuqe, in alternativa, se si vuole lasciare i numeri invariati, si può mettere >= e <=, il risultato e lo stesso.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 01-09-2020 alle ore 14.51.20

  7. #37
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    La logica è semplice.

    Se si pone una variabile maggiore di un valore, tale valore non sarà preso in considerazione. Ovvero saranno presi solo i valori superiori.
    Se si pone una variabile minore di un valore, tale valore non sarà preso in considerazione. Ovvero saranno presi solo i valori inferiori.

    Cordiali saluti.


    piu' confuso di prima


    comunque grazie a lei ,e a tutti ovviamente

    ps GraphOGLRisorse: lo ha letto l'altro thread? le ho scritto

  8. #38
    GraphOGLRisorse è connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,784

    Predefinito

    No non me n'ero accorto, comunque l'ho letto adesso.

    Le rispondo sull'altra discussione per non adare fuori tema.

    Cordiali saluti.

  9. #39
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    Rieccomi, ho notato una strana cosa,

    se inserisco una data con solo l'anno , senza mese e giorno, mi restituisce sempre Sagittarus

    esempio:

    2008-00-00 risultato Sagittarus

    2009-00-00 risultato Sagittarus

    ecc...

    si potrebbe fare in modo che se e' presente solo l'anno venga visualizzato un messaggio simile:

    Zodiaco non e' presente

    Grazie

  10. #40
    darbula non è connesso AlterGuru
    Data registrazione
    24-04-2011
    Messaggi
    2,158

    Predefinito

    Codice PHP:
    $datanascita = isset($row['birthday']) ? $row['birthday'] : null;
    if(
    strlen($datanascita) == 10 && ((int) substr($datanascita04)) && ((int) substr($datanascita52)) && ((int) substr($datanascita82))) {
    $date = new DateTime($datanascita, new DateTimeZone('UTC'));
    $day = (int) $date->format('j');
    $month = (int) $date->format('n');
    echo 
    getsign($day$month);
    } else {
    echo 
    'datanascita assente';

    Il mese e giorno zero non esiste, $row['birthday'] può contenere anche solo l'anno oppure assente(in mysql significa valore null) ecco gli (esempi: 2020, 1970, 70 etc.)? se invece hai anche gli zeri il codice da me proposto ovviamente non funziona ma sono sicuro ti sarai espresso male e non usi gli zeri.
    Post editato per il mode NO_ZERO_IN_DATE/NO_ZERO_DATE disattivato e possibilmente strict mode disabilitato.
    Uhm se stai usando il tipo DATE probabilmente UTC non riflette la data corretta sto implementando il codice.
    Ultima modifica di darbula : 01-09-2020 alle ore 16.34.24
    blackskyisback likes this.

  11. #41
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    Ciao darbula

    e cosi, anno con gli zeri, il campo birthday e di tipo date, anche se in mysql inserisco 2000 poi vengono aggiunti degli zero in automatico

    quindi 2000-00-00 (anno,mese, giorno)
    Ultima modifica di blackskyisback : 01-09-2020 alle ore 15.49.51

  12. #42
    darbula non è connesso AlterGuru
    Data registrazione
    24-04-2011
    Messaggi
    2,158

    Predefinito

    Si è corretto per il tipo date di mysql, sto preparando il codice tra poco aggiorno.
    codice aggiornato http://forum.it.altervista.org/php-m...ml#post1454762
    Ultima modifica di darbula : 01-09-2020 alle ore 16.25.53

  13. #43
    Data registrazione
    29-05-2012
    Messaggi
    209

    Predefinito

    darbula funziona perfettamente

    Grazie tante

Pagina 2 di 2 PrimoPrimo 12

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •