Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema con array

  1. #1

    Problema con array

    codice:
    while ($riga = mysql_fetch_array($ris_forniture)) {
    $ID = $riga['ID'];
    $cod_tab = $riga['cod_tab'];
    $data = $riga['data'];
    $num_fatt = $riga['num_fatt'];
    $causale = $riga['causale'];
    $forn = $riga['forn'];
    
    $elenco_forn .= "$cod_tab , ";
    
    }
    
    $elenco_forn1 = "$elenco_forn";
    
    $fornit = array($elenco_forn1,2);
    
    echo "fornit[0]";
    Come mai questo codice mi visualizza tutti i record anzichè, come richiesto con echo fornit[0], solo il primo??

  2. #2
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442

    Re: Problema con array

    Originariamente inviato da Sechi Paolo
    codice:
    while ($riga = mysql_fetch_array($ris_forniture)) {
    while () {
    ...
    $elenco_forn .= "$cod_tab , ";
    }
    
    $elenco_forn1 = "$elenco_forn";
    
    $fornit = array($elenco_forn1,2);
    
    echo "fornit[0]";
    Come mai questo codice mi visualizza tutti i record anzichè, come richiesto con echo fornit[0], solo il primo??
    Così visualizza la variabile $elenco_forn che è prodotta come concatenazione di tutti i codici (.=) pertanto è giusto che lo script si comporti così.

  3. #3
    Non esiste qualche modo per visualizzare correttamente l'array??

  4. #4
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Cosa intendi per visualizzare correttamente? Il comportamento è normale così, se ti serve che la variabile abbia un valore diverso devi cambiare il modo in cui è costruita.

    Tu che risultato vuoi ottenere?

  5. #5
    Se ora scrivo
    codice:
    echo $elenco_forn1;
    Mi visualizza:
    codice:
    1, 2, 3, 4, 5, 6,
    Io vorrei che con:
    codice:
    $fornit = array($elenco_forn1);
    echo $fornit[1]
    Mi visualizzi:
    codice:
    2

  6. #6
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ora è più chiaro, devi usare split

    Codice PHP:
    $fornit split(','$elenco_forn1);
    echo 
    $fornit[1
    così avrai il risultato voluto, occhio però che se la stringa è formattata come dici tu negli elementi dell'array troverai anche lo spazio.

  7. #7
    Forse sarebbe piu' efficace costruire un array invece di accodare:

    $elenco_forn .= "$cod_tab , ";

    sostituirlo con:

    $elenco_forn[] = "$cod_tab";


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Ti ringrazio

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.