Récuperer la valeur d'une function pour une autre function

Petit nouveau ! | 6 Messages

02 sept. 2010, 22:36

Bonsoir les pros !
Je développe une application avec flash builder ! il faut que je puisse récupérer la valeur de l'id de l'utilisateur joomla pour ensuite faire une selection dans ma base de donnée en fonction de l'id !
class AssolementService { 

  var $username = "root"; 
  var $password = ""; 
  var $server = "localhost"; 
  var $databasename = "db302976252"; 
  var $tablename = "tb_assolement"; 
  var $connection; 
  public function __construct() { 
    $this->connection = mysqli_connect( 
                       $this->server,  
                       $this->username,  
                       $this->password, 
                       $this->databasename 
                       ); 
    
    $this->throwExceptionOnError($this->connection);
		
	
  } 
public function userid(){

define( '_JEXEC', 1 );

define('JPATH_BASE', '/homepages/11/d289945826/htdocs/generation/' );

define( 'DS', '/' );

require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );

require(JPATH_BASE.'libraries/joomla/factory.php');

// initialize the application
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();

$UserInfo =& JFactory::getUser();
$user_id = $UserInfo->id;
echo $user_id;
}

  public function getAssolement() {
$user_id = $this->userid();
     $stmt = mysqli_prepare($this->connection,
          "SELECT
              tb_assolement.id,
			  tb_assolement.userid,
              tb_assolement.prod,
              tb_assolement.libel,
              tb_assolement.surf,
			  tb_assolement.rdt,
			  tb_assolement.qte,
			  tb_assolement.prev,
			  tb_assolement.dest,
			  tb_assolement.base,
			  tb_assolement.stockage,
			  tb_assolement.com
           FROM tb_assolement WHERE userid='".$user_id."'");     
         
      $this->throwExceptionOnError();

      mysqli_stmt_execute($stmt);
      $this->throwExceptionOnError();

      $rows = array();
      mysqli_stmt_bind_result($stmt, $row->id, $row->userid,$row->prod,
                    $row->libel, $row->surf, $row->rdt, $row->qte
					, $row->prev, $row->dest, $row->base, $row->stockage, $row->com);

      while (mysqli_stmt_fetch($stmt)) {
          $rows[] = $row;
          $row = new stdClass();
          mysqli_stmt_bind_result($stmt, $row->id, $row->userid, $row->prod,
                    $row->libel, $row->surf, $row->rdt, $row->qte
					, $row->prev, $row->dest, $row->base, $row->stockage, $row->com);
      }

      mysqli_stmt_free_result($stmt);
      mysqli_close($this->connection);

      return $rows;
  }  
}
J'aimerai récupérer la valeur $user_id de la function userid() pour pouvoir l'insérer dans la function getAssolement() dans ma requête sql . Cela fait plusieurs jours que je cherches dans mes bouqins, sur le net et je n'y arrive pas :cry:

Auriez vous une solution svp !!

Merci

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 22:38

return $user_id;

?

Petit nouveau ! | 6 Messages

02 sept. 2010, 22:51

même avec un return cela ne fonctionne pas ! l'application n'accepte pas cette ligne là :

$user_id = $this->userid();

alors je ne sais pas comment je peux procéder ...

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 22:54

même avec un return cela ne fonctionne pas ! l'application n'accepte pas cette ligne là :

$user_id = $this->userid();

alors je ne sais pas comment je peux procéder ...
quelle est l'erreur qui te donne ?

Petit nouveau ! | 6 Messages

02 sept. 2010, 22:55

L'erreur ne t'aideras pas beaucoup ! lorsque le code php n'est pas correct, il me retourne canal déconnecté et lorsque je supprime cette ligne l'application se lance mais bon je ne peut pas afficher en fonction de l'userid

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 22:58

L'erreur ne t'aideras pas beaucoup ! lorsque le code php n'est pas correct, il me retourne canal déconnecté et lorsque je supprime cette ligne l'application se lance mais bon je ne peut pas afficher en fonction de l'userid
faut tester ta class hors flash sinon tu va pas t'en sortir

Petit nouveau ! | 6 Messages

02 sept. 2010, 23:51

Par exemple quand je test sans le flash j'arrive à récupérer l'userid quand les functions ne sont pas dans une class ! Quand ils sont dans une classe je n'arrive pas à passer la valeur d'une function à une autre !

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 23:53

Par exemple quand je test sans le flash j'arrive à récupérer l'userid quand les functions ne sont pas dans une class ! Quand ils sont dans une classe je n'arrive pas à passer la valeur d'une function à une autre !
fais un teste avec la classe
$test = new AssolementService();
var_dump($test->userid());
var_dump($test->getAssolement());

Petit nouveau ! | 6 Messages

03 sept. 2010, 00:58

Lorsque je fais
$test = new AssolementService();
var_dump($test->userid());
var_dump($test->getAssolement());

int(0)
Fatal error: Call to a member function getAssolement() on a non-object in /homepages/11/d289995886/htdocs/generation/test.php on line 87

Lorsque je fais seulement
$test = new AssolementService();

var_dump($test->getAssolement());

array(3) { [0]=> object(stdClass)#4 (12) { ["id"]=> int(3) ["userid"]=> int(99) ["prod"]=> string(4) "cdcd" ["libel"]=> string(9) "vfvfvfvfv" ["surf"]=> string(5) "11.00" ["rdt"]=> string(4) "2.00" ["qte"]=> string(7) "1256.00" ["prev"]=> string(5) "Réel" ["dest"]=> string(5) "Vente" ["base"]=> string(4) "0.00" ["stockage"]=> string(1) "2" ["com"]=> string(1) "2" } [1]=> object(stdClass)#5 (12) { ["id"]=> int(24) ["userid"]=> int(99) ["prod"]=> string(0) "" ["libel"]=> string(4) "dcdc" ["surf"]=> string(6) "100.00" ["rdt"]=> string(5) "80.00" ["qte"]=> string(6) "120.00" ["prev"]=> string(5) "Réel" ["dest"]=> string(5) "Vente" ["base"]=> string(4) "0.00" ["stockage"]=> string(0) "" ["com"]=> string(0) "" } [2]=> object(stdClass)#6 (12) { ["id"]=> int(25) ["userid"]=> int(99) ["prod"]=> string(0) "" ["libel"]=> string(17) "cdcdcdcdcdcdcdcdc" ["surf"]=> string(5) "80.00" ["rdt"]=> string(6) "999.99" ["qte"]=> string(7) "6400.00" ["prev"]=> string(10) "Prévision" ["dest"]=> string(5) "Vente" ["base"]=> string(4) "0.00" ["stockage"]=> string(0) "" ["com"]=> string(0) "" } }

...

ViPHP
ViPHP | 5462 Messages

03 sept. 2010, 01:16

c'est que tu attend de la fonction getAssolement ?
pour l'erreur, par contre ca dois etre les require_once qui coince, pusique qu'on les appelle 2 fois

Petit nouveau ! | 6 Messages

03 sept. 2010, 01:31

la fonction get assolement me permet de remplir un tableau , ( Ce tableau est mis a jour par un formulaire dans une autre fonction que je t'ai pas mis ) ! Je veux que ce tableau s'affiche en fonction de l'user id de la personne ( cela affichera les valeurs que chaque personnes aura ajouter avec son compte joomla ) !

Tout fonctionne bien , sauf que je n'arrive pas à faire que le WHERE userid= $userid <= celui que je recupere dans la fonction userid()

Les deux requice once fonctionne bien lorsque je test la fonction seule !

ViPHP
ViPHP | 5462 Messages

03 sept. 2010, 17:08

la fonction get assolement me permet de remplir un tableau , ( Ce tableau est mis a jour par un formulaire dans une autre fonction que je t'ai pas mis ) ! Je veux que ce tableau s'affiche en fonction de l'user id de la personne ( cela affichera les valeurs que chaque personnes aura ajouter avec son compte joomla ) !

Tout fonctionne bien , sauf que je n'arrive pas à faire que le WHERE userid= $userid <= celui que je recupere dans la fonction userid()

Les deux requice once fonctionne bien lorsque je test la fonction seule !
quelle user tu veux recuperer parce que la y'a personne, si t'attend un partage de session entre le client flash et le client web je doute que ça marche