Page 1 sur 1

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

Posté : 02 sept. 2010, 22:36
par blump
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

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

Posté : 02 sept. 2010, 22:38
par stealth35
return $user_id;

?

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

Posté : 02 sept. 2010, 22:51
par blump
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 ...

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

Posté : 02 sept. 2010, 22:54
par stealth35
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 ?

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

Posté : 02 sept. 2010, 22:55
par blump
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

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

Posté : 02 sept. 2010, 22:58
par stealth35
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

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

Posté : 02 sept. 2010, 23:51
par blump
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 !

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

Posté : 02 sept. 2010, 23:53
par stealth35
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());

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

Posté : 03 sept. 2010, 00:58
par blump
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) "" } }

...

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

Posté : 03 sept. 2010, 01:16
par stealth35
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

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

Posté : 03 sept. 2010, 01:31
par blump
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 !

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

Posté : 03 sept. 2010, 17:08
par stealth35
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