recuperer tout les champs de la table avec load() de jtable

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] recuperer tout les champs de la table avec load() de jtable

    bonjour a tous !
    je suis en train de créer un composant. Une table est associé a ce composant, et pour recuperer toutes les entrees de la table, j'ai fais un dossier table, et j'ai instancié une un objet jtable (JTable::getInstance( ) , lié a ma table mysql.

    Le hic, c'est que je ne reussis pas a récuperer toutes les entrées de ma table mysql : si je fais ceci :

    Code:
    $table = $this->getTable();
    $table->load();
    $this->categs = $table;
    print_r($this->categs);
    il ne me renvoie pas les entrées de ma table ! -normal au fond, car la methode load() attend un id...

    sauriez pas quelle méthode de la classe jtable (bien documentée ici : http://docs.lab-project.net/document...cc8d4847f5c135 ) pour récuperer toutes les entrees de ma table mysql, et non pas une entrée seulement siouplais ?

    merci bien

  • #2
    Re : recuperer tout les champs de la table avec load() de jtable

    Bonjour,
    Code PHP:
    $table $this->getTable() ;
    $tname $table->getTableName() ;
    $flds $table->getFields() ;
    $db JFactory::getDbo() ;
    $db->setQuery "SELECT * FROM $tname) ;
    $result $db->loadObjectList() ;
    // penser à tester $result
    if ( !$result ) {
        
    // routine de traitement d'erreur
        // et retour.
    }
    foreach ( 
    $result AS $rec ) {
        foreach ( 
    $flds AS $field ) {
            echo 
    $rec->$field ' | ' ;
        }
        echo 
    '<br />' ;

    par exemple.

    JTable porte assez mal son nom, puisque gérant surtout par enregistrement. Couplé avec JDatabase et son getObjectList, on parvient à des choses très performantes.
    Dernière édition par jisse03 à 15/06/2012, 08h16
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : recuperer tout les champs de la table avec load() de jtable

      merci bien, ca répond a ma question

      Commentaire


      • #4
        Re : recuperer tout les champs de la table avec load() de jtable

        par contre, le code exact est le suivant :

        Code PHP:
            <?php
                     $table 
        $this->getTable() ;
                
        $tname $table->getTableName() ;
                
        $flds $table->getFields() ;
                
        $db JFactory::getDbo() ;
                
        $db->setQuery "SELECT * FROM $tname) ;
                
        $result=$db->loadObjectList();
                
        // penser à tester $result
                
        if ( !$result ) {
                    
        // routine de traitement d'erreur
                    // et retour.
                
        }
                foreach ( 
        $result AS $rec ) {
                    foreach ( 
        $flds AS $field ) {
                        
        $nameField=$field->Field;
                        echo 
        $rec->$nameField ' | ' ;
                    }
                    echo 
        '<br />' ;
                }
        'oilou, encore merci

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X