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

    Stampare array senza usare ciclo while

    ciao
    Con questa query estrago due record a caso da una tabella:

    $sql_celeb_caso="SELECT * FROM film order by rand() LIMIT 2" ;
    $result_celeb_caso = mysql_query($sql_celeb_caso) or die (mysql_error());
    $celeb_caso=mysql_fetch_array($result_celeb_caso);

    Il mio problema è questo:
    Per mostrare i risultati potrei fare un semplice ciclo while.

    Però a me servirebbe senza while:
    Cioè vorrei stamparli cosi per esempio:

    echo " $celeb_caso[nome_campo][1]" ;

    echo " $celeb_caso[nome_campo][2]" ;


    Pero' cosi non funziona...volevo chiedere infatti a voi come si può fare,,
    IN REALTA' SONO REGISTRATO DAL 2001 PERO' MI HANNO BANNATO PER AVER SCRITTO DUE MESSAGGI NELLA SEZIONE ERRATA...CHE RICONOSCENZA!!!

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Al posto di mysql_fetch_array() puoi usare la funzione mysql_result()

    Codice PHP:
    echo mysql_result($result_celeb_caso0'nome_campo');

    echo 
    mysql_result($result_celeb_caso1'nome_campo'); 
    Il 2° parametro corrisponde alla riga dei risultati restituiti dalla query (partendo da zero), mentre il 3° parametro è una stringa contenente il nome del campo da estrarre.

    Ciao!
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  3. #3
    Funziona grazie:
    Ua cosa però..per ognuno dei record devo stampare molti campi
    PEr cui scrivere sempre
    echo mysql_result($result_celeb_caso, 0, 'nome_campo');
    diventa lungo...

    non c'è un modo per sostituire semplice mente una riga qua:
    $sql_celeb_caso="SELECT * FROM film order by rand() LIMIT 2" ;
    $result_celeb_caso = mysql_query($sql_celeb_caso) or die (mysql_error());
    $celeb_caso=mysql_fetch_array($result_celeb_caso);
    IN REALTA' SONO REGISTRATO DAL 2001 PERO' MI HANNO BANNATO PER AVER SCRITTO DUE MESSAGGI NELLA SEZIONE ERRATA...CHE RICONOSCENZA!!!

  4. #4
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    O crei una funzioncina che ti crei l'array partendo dal risultato della query, oppure puoi fare così:

    Codice PHP:
    $sql_celeb_caso="SELECT * FROM film order by rand() LIMIT 2" ;
    $result_celeb_caso mysql_query($sql_celeb_caso) or die (mysql_error());
    $celeb_caso = array();
    $celeb_caso[0] =mysql_fetch_array($result_celeb_caso);
    $celeb_caso[1] =mysql_fetch_array($result_celeb_caso); 
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  5. #5
    grazie
    IN REALTA' SONO REGISTRATO DAL 2001 PERO' MI HANNO BANNATO PER AVER SCRITTO DUE MESSAGGI NELLA SEZIONE ERRATA...CHE RICONOSCENZA!!!

  6. #6
    Originariamente inviato da Sky
    O crei una funzioncina che ti crei l'array partendo dal risultato della query, oppure puoi fare così:

    Codice PHP:
    $sql_celeb_caso="SELECT * FROM film order by rand() LIMIT 2" ;
    $result_celeb_caso mysql_query($sql_celeb_caso) or die (mysql_error());
    $celeb_caso = array();
    $celeb_caso[0] =mysql_fetch_array($result_celeb_caso);
    $celeb_caso[1] =mysql_fetch_array($result_celeb_caso); 
    HO provato:
    PEro' se metto:
    <? echo "$celeb_caso[nome][0]"; ?>
    oppure <? echo "$celeb_caso[0][nome]"; ?>

    Mi da:
    Array[nome]
    IN REALTA' SONO REGISTRATO DAL 2001 PERO' MI HANNO BANNATO PER AVER SCRITTO DUE MESSAGGI NELLA SEZIONE ERRATA...CHE RICONOSCENZA!!!

  7. #7
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    L'array con i campi si trova dentro l'array con gli indici numerici. Quindi per accedere ai vari campi devi invertire l'ordine delle chiavi (da $celeb_caso['nome'][0] a $celeb_caso[0]['nome'])
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  8. #8
    Originariamente inviato da Sky
    L'array con i campi si trova dentro l'array con gli indici numerici. Quindi per accedere ai vari campi devi invertire l'ordine delle chiavi (da $celeb_caso['nome'][0] a $celeb_caso[0]['nome'])
    Come ti ho scritto sopra, ho provato in entrambi i modi!
    PEro' gli ' ' non li ho messi...che sia quello?
    IN REALTA' SONO REGISTRATO DAL 2001 PERO' MI HANNO BANNATO PER AVER SCRITTO DUE MESSAGGI NELLA SEZIONE ERRATA...CHE RICONOSCENZA!!!

  9. #9
    yeah.. apici a go go

    considera che tutte le volte che richiami un'indice di un'array nominativo la stringa che identifica l'indice deve essere fra apici.

    es:
    Codice PHP:
    // Supponiamo di avere l'array
    $array = array('indice1' => 'pippo''indice2' => 'topolino''indice3' => 'pluto');

    // in poche parole sarebbe così
    // indice1 => pippo
    // indice2 => topolino
    // indice3 => pluto

    print_r($array); // questo mi stampa l'array per intero (circa come la stringa qui sopra)

    // Per richiamare i valori dentro l'array
    echo $array['indice1'];

    // oppure posso anche dargli una variabile
    $nome_indice "indice2";
    echo 
    $array[$nome_indice]; // in questo caso non servono gli apici 
    Spero di essere stato chiaro
    Ovviamente il discorso vale con gli array multidimensionali ecc.. ecc..

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.