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

    Script che non funziona

    Salve,
    Oggi ho creato uno script (so che è programmato abbastanza da cani, ma speravo di finirlo molto rapidamente senza ragionarci troppo su, ed invece...), essenzialmente gli si passa un array con delle percentuali ed un valore numerico, a seconda di quel valore allora sceglie le possibili percentuali (per fare un esempio, se c'è una tempesta allora il tempo può cambiare solo in Pioggia, Vento o Nuvoloso) e genera un valore casuale per decidere la nuova condizione atmosferica.

    Ora il problema è quando viene eseguita la funzione "changeweather" non entra nel ciclo while, o meglio ci entra una sola volta e poi esce subito...la cosa strana è che ho provato a sostituirlo con un for che avrebbe dovuto ciclare per 5 volte, senza alcuna condizione particolare, e non ha funzionato ugualmente...
    Qualcuno sa perchè?

    Codice PHP:
    include "commons.inc.php";
    function 
    changeweather ($zone){
        
    //Tempesta
        
    if($zone[8]==0){
            
    $allowed=array(125);
        }
        
    //Pioggia
        
    elseif($zone[8]==1){
            
    $allowed=array(0256);
        }
        
    //Vento
        
    elseif($zone[8]==2){
            
    $allowed=array(01456);
        }
        
    //Nebbia
        
    elseif($zone[8]==3){
            
    $allowed=array(12456);
        }
        
    //Neve
        
    elseif($zone[8]==4){
            
    $allowed=array(235);
        }
        
    //Nuvole
        
    elseif($zone[8]==5){
            
    $allowed=array(0123456);
        }
        
    //Sole
        
    else{
            
    $allowed=array(1235);
        }
        
    $compare=$zone[$allowed[0]];
        print 
    "Possibilità di ".$GLOBALS["w"][$allowed[0]].": 0 - $compare
    "
    ;
        for(
    $i=1$i<count($allowed); $i++){
            
    $next=$compare+$zone[$allowed[$i]];
            if(
    $zone[$allowed[$i]]==0){
                print 
    "Possibilità di ".$GLOBALS["w"][$allowed[$i]].": 0
    "
    ;
            }
            else{
                print 
    "Possibilità di ".$GLOBALS["w"][$allowed[$i]].": ".($compare+1)." - ".($next)."
    "
    ;
            }
            
    $compare=$next;
        }
        print 
    "</p>";

        
    $b=1;
        
    $weather=rand(0$next);
        print 
    "Valore uscito: $weather
    "
    ;
        
    $sum=$zone[$allowed[0]];
        
    $i=0;
    //NON ENTRA IN QUESTO CICLO
        
    while($b==AND $i<count($allowed)){
            if(
    $weather<=$sum){
                
    $b=0;
                
    $sum=$sum+$zone[$allowed[$i]];
            }
            else{
                
    $i++;
                
    $sum=$sum+$zone[$allowed[$i]];
            }
            print 
    $allowed[$i]."
    "
    ;
            print 
    $GLOBALS["w"][$allowed[$i]]."

    "
    ;
            return 
    $allowed[$i];
        }
    }

    $sql "SELECT * FROM weathers";
    $cont mysql_query($sql,$GLOBALS["connessione"]) or die(mysql_error());
    $i=0;
    $j=0;
    while(
    $row mysql_fetch_row($cont)){
        for(
    $i=0$i<10$i++){
            
    $t[$j][$i]=$row[$i];
        }
        
    $j++;
    }
    for(
    $j=0$j<count($t); $j++){
        
    $newweather=changeweather($t[$j]);
        
    $sql="UPDATE weathers SET Current = '$newweather' WHERE `Luogo` = '".$t[$j][7]."'";
        
    $cont mysql_query($sql,$GLOBALS["connessione"]) or die(mysql_error());

    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  2. #2
    Con return $allowed[$i] è improbabile che il ciclo venga eseguito più di una volta.

  3. #3
    oddio non mi ero proprio accorto di averlo messo dentro al ciclo, che figuraccia
    Grazie per avermelo fatto notare
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

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.