• User Attivo

    Funzione che restituisce un array

    Sono preoccupato perchè non riesco a superare questo problema.
    E' pure difficile da spiegare. Ci provo.

    Io lancio una query sql ottenendo una restituzione. Tutto ok.
    Questi risultati li riesco a intabellare in diversi modi.
    Sembrerebbe che non riesco a metterli in un array, o meglio, non riesco ad indicizzarli.

    Se faccio per esempio una cosa del genere:

    echo"....: $nome_array['5']";

    non mi da nessun errore ma allo stesso tempo non visualizza nulla.

    La query è giusta.
    L'array c'è, ma se faccio count() ottengo 2 indici
    anche se ne dovrebbero essere di più.
    Presumo siano il primo e l'ultimo.

    Mi date un ragguaglio in merito.


  • Community Manager

    forse c'è un errore qua

    echo"....: $nome_array['5']";

    5 esiste? il nome è corretto?


  • Super User

    @linus said:

    Sono preoccupato perchè non riesco a superare questo problema.
    E' pure difficile da spiegare. Ci provo.

    Io lancio una query sql ottenendo una restituzione. Tutto ok.
    Questi risultati li riesco a intabellare in diversi modi.
    Sembrerebbe che non riesco a metterli in un array, o meglio, non riesco ad indicizzarli.

    Se faccio per esempio una cosa del genere:

    echo"....: $nome_array['5']";

    non mi da nessun errore ma allo stesso tempo non visualizza nulla.

    La query è giusta.
    L'array c'è, ma se faccio count() ottengo 2 indici
    anche se ne dovrebbero essere di più.
    Presumo siano il primo e l'ultimo.

    Mi date un ragguaglio in merito.
    per ottenere un array con i nomi del campo come indici usa:

    mysql_fetch_array($query, MYSQL_ASSOC);

    se non metti MYSQL_ASSOC ti prendi sia l'indice numerico che quello col nome del campo...

    quindi o fai

    echo"..... $array[5]"; <- SENZA APICI NEL NUMERO

    oppure

    echo ".... $array[nomecampo]"; <- Anche qui senza apici, perchè siamo dentro un "" 😄


  • User Attivo

    Ragazzi, è tutto ok adesso. Grazie a voi.
    In quanto alla storia degli apici, vi sembrerà strano ma io non li metto mai
    perchè se no mi vengono fuori gli errori.

    Comunque ritornando al discorso in oggetto io ottengo l'array con in questo modo:

    $arri_up=mysql_fetch_array($resul_text, MYSQL_ASSOC);

    si trova all' interno di ciclo while; in ogni caso subito dopo se faccio una verifica del tipo:

    $numero_ch=count($arri_up);
    echo"
    array con $num_ch chiavi";

    il risultato non è il reale numero di rows che ci sono all'interno della tabella
    però adesso che ho raggiunto una parziale soluzione non fa niente perchè l'array lo ottengo tutto e questo mi basta.

    Preparo un altro topic per un ulteriore enigma piu tardi intanto vi saluto
    rigraziandovi nuovamente


  • Super User

    @linus said:

    Ragazzi, è tutto ok adesso. Grazie a voi.
    In quanto alla storia degli apici, vi sembrerà strano ma io non li metto mai
    perchè se no mi vengono fuori gli errori.

    Comunque ritornando al discorso in oggetto io ottengo l'array con in questo modo:

    $arri_up=mysql_fetch_array($resul_text, MYSQL_ASSOC);

    si trova all' interno di ciclo while; in ogni caso subito dopo se faccio una verifica del tipo:

    $numero_ch=count($arri_up);
    echo"
    array con $num_ch chiavi";

    il risultato non è il reale numero di rows che ci sono all'interno della tabella
    però adesso che ho raggiunto una parziale soluzione non fa niente perchè l'array lo ottengo tutto e questo mi basta.

    Preparo un altro topic per un ulteriore enigma piu tardi intanto vi saluto
    rigraziandovi nuovamente
    Se il tuo scopo è quello di ottenere il numero dei campi usa

    SELECT COUNT(*) FROM database.tabella WHERE condizione

    anche senza where se li vuoi tutti...

    per il ciclo while, devi impostarlo così:

    $query = mysql_query("...");
    while($arry_up = mysql_fetch_array($arry_up, MySQL_ASSOC))
    {
    codice da eseguire
    }

    ciò fa in modo che in ogni ciclo hai un nuovo array con i nuovi dati che si arresta quando finiscono i dati nella tabella specificata 😄

    :yuppi: :ciauz: