Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71

    non riesco a Prelevare valore da array

    Ragazzi ho una claase per gestireil database e dopo aver fatto una query salva il risultato in una variabili privata la funzione che restituisce i valori del risultato della query in un array ad oggetti e questa

    Codice PHP:
    public function Recupera_Valori() { 
     
    $records = array(); 
     while (
    $riga mysql_fetch_object($this->risultato)) {  
         
    $records[] = $riga
      } 
      
      return 
    $records

    $this->risultato e la variabile che ha il risultato della query adesso facendo un var dump a :

    // Dopo aver instanziato la classe in $db... ecc.
    $records = $db->Recupera_Valori();


    Come posso accedere ai campi cercati con la query?

    ECCO IL VAR_DUMP:

    array(1) { [0]=> object(stdClass)#4 (8) { ["account_id"]=> string(1) "1" ["name"]=> string(5) "SoNuS" ["level"]=> string(3) "150" ["exp"]=> string(1) "0" ["skill_group"]=> string(1) "0" ["job"]=> string(1) "0" ["playtime"]=> string(1) "0" ["level_step"]=> string(1) "0" } }


    io scrivo $records['level']; ma mi dice undefined index level aiutatemi è urgente

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    devi fare un foreach per ciclarti l'array, perchè quello che ottineni è un array bidimenzionale il cui primo livello e l'elenco dei record e il secondo livello sono i campi, quindi per ottenere il campo level del primo record dovresti scrivere

    $records[0]['level']
    $records[1]['level'] per il secondo record
    ecc...

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Scusami questo ciclo nn mi funge

    Codice PHP:
    foreach ($records as $key => $value

     print 
    $value."
    "


    EDIT:

    Asp modificando cosi sono riuscito a prelvare i valori:

    Codice PHP:
    foreach ($records as $value1

      foreach (
    $value1 as $value2) {ù
          
    echo "$value2\n"
    } } 

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    puoi anche fare tutto con un solo ciclo:

    Codice PHP:
    foreach ($records as $key => $value

     print 
    $records[$key]['level']."
    "
    ;

    EDIT:

    o se preferisci anche così:

    Codice PHP:
    foreach ($records as $key => $value

     print 
    $value['level']."
    "
    ;

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Usando il tuo metodo ricevo questo errore:

    Fatal error: Cannot use object of type stdClass as array in

    EDIT:
    Se hai skype parliamo la se no rischiamo di fare mille post xD

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    no, non ho skype, quell'errore vuol dire che stai cercado di cilcare un oggetto che non è un array, è strano, se lo ciclava prima perchè adesso non lo farebbe piu? prova a postare il codice
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  7. #7
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Potrei eseguire lo script facendo come al solito e nn mi complicherei la vita facendo la solita cosa:
    Codice PHP:
    while ($riga mysql_fetch_object($risultato))
    {
         print 
    $riga->nome_campo

    Pero io ho trovato in rete un ottima classe per gestire tutte le funzioni comuni di un database e ne ho modificato un po la struttura nel mio caso , senza scrivere quel pezzetto di codice scritto sopra utilizzo questa funzione pubblica:

    Codice PHP:
    public function Recupera_Valori() {  
     
    $records = array();  
     while (
    $riga mysql_fetch_object($this->risultato)) {   
         
    $records[] = $riga;  
      }  
       
      return 
    $records;  

    ora come mi hai fatto notare tu il risultato di questa funzione è un array bidimensionale ma come fare per estrarre un valore?

  8. #8
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Ho risolto cambiando questa funzione:

    Codice PHP:
    mysql_fetch_object() 
    CON QUESTA

    Codice PHP:
    mysql_fetch_array() 
    GRZ A las per i suggerimenti... POTETE CHIUDERE

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.