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

    Salvare recordset in un array

    Salve a tutti,
    come faccio a salvare un recordset in un array?
    Ho provato cosi:
    Codice PHP:
    class db{
        protected 
    $_handle;
        protected 
    $_result;

        function 
    query($query$single_result=1){
            
    $this->_result=mysql_query($query$this->_handle) or die(mysql_error());
            if(
    preg_match("/select/i"$query)){    
                
    $resul=array();
                while(
    $row=mysql_fetch_array($this->_result)){
                    
    $result[]=$row;
                }
                
    mysql_free_result($this->_result);
                return 
    $result;
            }
        }
    }

    //Prova classe
    $db=new db;
    $result=$db->query('select * from post');
    echo 
    $result['post_id']; 
    Ma non funziona

    Potete aiutarmi per favore?

  2. #2
    Perchè l'array result contiene oggetti di tipo resource. Prova ad effettuare un var_dump() dell'array.
    Per accedere al suo contenuto dovresti fare ad esempio:

    Codice PHP:
    $result[0]['post_id']; 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    se faccio il var_dump esce questo:
    Codice PHP:
    array (size=1)
      
    => 
        array (
    size=6)
          
    => string '1' (length=1)
          
    'post_id' => string '1' (length=1)
          
    => string 'post' (length=4)
          
    'type' => string 'post' (length=4)
          
    => string 'k-on' (length=4)
          
    'tag' => string 'k-on' (length=4
    se provo a fare come hai detto tu funziona!
    Codice PHP:
    echo $result[0]['post_id']; 
    ma perchè deve esserci quel "[0]"? Non si può levare in qualche modo?
    Comunque grazie!

  4. #4
    Originariamente inviato da KingAntony
    se faccio il var_dump esce questo:
    Codice PHP:
    array (size=1)
      
    => 
        array (
    size=6)
          
    => string '1' (length=1)
          
    'post_id' => string '1' (length=1)
          
    => string 'post' (length=4)
          
    'type' => string 'post' (length=4)
          
    => string 'k-on' (length=4)
          
    'tag' => string 'k-on' (length=4
    se provo a fare come hai detto tu funziona!
    Codice PHP:
    echo $result[0]['post_id']; 
    ma perchè deve esserci quel "[0]"? Non si può levare in qualche modo?
    Comunque grazie!
    L'indice 0 (zero) che ho inserito è solamente un esempio. Il tuo array contiene tanti valori quanti sono i record tirati fuori dalla select. E' per questo che devi scorrere l'array utilizzando gli indici se vuoi recuperare tutti i record in esso contenuti.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Codice PHP:
    array (size=2)
      
    => 
        
    object(stdClass)[3]
          public 
    'id' => string '1' (length=1)
          public 
    'name' => string 'test' (length=4)
          public 
    'author' => string '1' (length=1)
          public 
    'image_url' => string 'http://www.triche.co/images/dZ1Lk.jpg' (length=37)
          public 
    'comment' => string 'awidjawuidj' (length=11)
          public 
    'tag' => string 'a' (length=1)
      
    => 
        
    object(stdClass)[4]
          public 
    'id' => string '2' (length=1)
          public 
    'name' => string 'test2' (length=5)
          public 
    'author' => string '1' (length=1)
          public 
    'image_url' => string 'http://www.triche.co/images/dZ1Lk.jpg' (length=37)
          public 
    'comment' => string 'adwdwawd' (length=8)
          public 
    'tag' => string 'a' (length=1
    Ecco che succede se inserisco più records nella tabella. Ho messo al posto di mysql_fetch_array mysql_fetch_object perchè mi piace fare la freccina nel codice ->...
    Comunque se io tipo dovessi elencare le colonne name e image_url in una tabella come dovrei fare?

    Grazie ancora.

  6. #6
    Ti basta scorrere l'array e recuperare le colonne che vuoi utilizzare. Ad esempio:

    Codice PHP:
    foreach ($result as $record) {
        echo 
    $record['name']." - ".$record['image_url']."
    "
    ;

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Ok Grazie!
    Si può dire risolto <_<

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.