• User

    while array

    Ciao a tutti!
    Ho uno script che, dati due valori xx yy, li incrocia e mi da il risultato xy.

    Il meccanismo è il seguente. Prendo i due valori genitori, li incrocio con substr.
    Ho un array dove ogni chiave xx yy xy ha valore 0 se non è presa in considerazione, e 1 quando è il risultato dell'incrocio (in questo caso xy è l'unico = 1).
    A questo punto se >0 lo mostro e in questo modo ho il risultato dell'incrocio.

    questo script gestisce delle stringhe che sono composte da 4 caratteri, ma vorrei implementarlo e arrivare a 6 caratteri: le combinazione diventeranno veramente tante
    ora per ogni combinazione mi controlla se >0 e mi fa un echo e ogni operazione ha la sua riga di codice.

    if ($conteggio['ABCD'] > 0) echo 'mare';
    if ($conteggio['ACBD'] > 0) echo 'gatto';
    if ($conteggio['DBCA'] > 0) echo 'nero';
    ...etc!

    è possibile creare un while che ogni volta processa un valore dell'array (aumentando sempre di 1) e se >0 lo stampa?
    L'ultima cosa è che ogni codice corrisponde ad una parola univoca. Quindi ora, gestendo tutto "manualmente" ogni codice ha il proprio echo.
    E' possibile integrare con questo ipotetico while un qualcosa che estragga anche da un database la parola che corrisponde a questo codice?

    ABCD => mare
    ACBD => gatto
    DBCA => nero

    etc...

    Grazie per i consigli.


  • User

    mi spiego meglio..
    ho questo script che incrocia dai valori e assegna un valore da 0 a 1 quando questo valore è il risultato.

    es AB x AB = (0,25)AA - (0,25)BB - (0,5)AB

    ho un array che mi mostra i nuovi valori-risultato e tramite una funzione if visualizzo i risultati > 0 (nel mio caso interrogo tutte le combinazioni che potrei ottenere e mostro solo le > 0)

    vorrei sapere come semplificare il meccanismo, magari integrandolo a mysql.
    potrei creare una tabella con due valori: il primo è il codice/genotipo (AA) e il secondo è il nome/fenotipo (mutazione AA)

    in questo modo potrei fare un ciclo strutturato così:

    select * from tabella where genotipo=array[$risultato]
    e poi mostro $row['fenotipo']

    questa è teoria..avrei bisogno di un aiuto per la pratica.
    in questo modo dovrei riuscire ad eliminare centinaia di righe di codice, in cambio di una decina..

    grazie per consigli e spunti.


  • User

    [PHP]
    for ($i = 0; $i < count ($risultato); $i++) {

    $stringa = array($risultato*);
    $array = implode(",", $stringa);

    $sql = "SELECT * FROM tabella WHERE codice IN ('$array')";
    $query = mysql_query($sql)or die("Non riesco ad eseguire la query");
    $results = mysql_fetch_array($query);

    while ($results) {
    $descrizione = $results[descrizione];
    }

    echo $descrizione."<br>";

    }[/PHP]

    ma non funziona..
    la tabella è così

    ----- id - codice - descrizione
    ----- 1 - AA - mutazione AA
    ----- 2 - AB - mutazione AB
    ----- n - XX - mutazione XX

    tutte le variabili e gli array prima di questo codice funzionano.
    infatti se stampo l'array risultati mi da l'elenco dei codici.