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

    Problema con una funzione! :(

    Ciao a tutti o un problemino.
    Devo far randomizzare un colore tutte le volte che ne ho bisogno tra 31
    da me selezionati. Ogni volta selezionato controllo nel database che non
    sia già stato utilizzato.
    Se è stato utilizzato imposto $a=1; e dopo nell'if faccio richiamare
    nuovamente la funzione.
    Se il colore non è mai stato usato ritorna il colore.
    Però un problema.
    Ogni volta che il colore non è stato usato viene ritornato correttamente
    il suo valore.
    Se invece viene richiamata la funziona al secondo passaggio o terzo o
    30esimo se becca sempre colori usati non mi ritorna niente.
    Con le stampe ho visto che controlla tutto bene... solo che la variabile
    che ha richiamato la funziona è vuota anziche avere il nuovo colore.
    Perchè?
    codice:
    function colore($came){
            $a=0;
            $array = array ("99FFFF", "FF8080", "FF0000", "FFFF00",
    "FF8100", "824200", "008000", "00FFFF", "2181FF", "C082FF", "C200FF",
    "8F8F8F", "000000", "600000", "FFBF18", "C2FF91", "999999", "66CC00",
    "6699FF", "663300", "3333FF", "00FF33", "3366FF", "CCCC00", "FF6600",
    "FF9900", "FF99FF", "FF00FF", "0066FF", "FF9933");
            $random=rand(0,30);
            $colore=$array[$random];
            $query = "SELECT colore FROM ospiti WHERE camera='$came'";
            $result = mysql_query($query);
            while($row = mysql_fetch_array($result)){
                    $col = $row[colore];
                    if($col == $colore){
                            $a=1;
                    }
            }
            if($a==1){
                    colore($came);
            }
            else return $colore;
    }
            
    
    $colore=colore($came);
    Grazie
    Lorenzo

  2. #2
    Subito dopo aver postato ho recuparto le mie facoltà mentali e ho recuperato l'errore. dovrei aver risolto così:

    codice:
    function colore($came){
            $a=0;
            $array = array ("99FFFF", "FF8080", "FF0000", "FFFF00",
    "FF8100", "824200", "008000", "00FFFF", "2181FF", "C082FF", "C200FF",
    "8F8F8F", "000000", "600000", "FFBF18", "C2FF91", "999999", "66CC00",
    "6699FF", "663300", "3333FF", "00FF33", "3366FF", "CCCC00", "FF6600",
    "FF9900", "FF99FF", "FF00FF", "0066FF", "FF9933");
            $random=rand(0,30);
            $colore=$array[$random];
            $query = "SELECT colore FROM ospiti WHERE camera='$came'";
            $result = mysql_query($query);
            while($row = mysql_fetch_array($result)){
                    $col = $row[colore];
                    if($col == $colore){
                            $a=1;
                    }
            }
            if($a==1){
                    $colore=colore($came);
            }
            return $colore;
    }
            
    
    $colore=colore($came);

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.