IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

exploiter les données d'une api


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut exploiter les données d'une api
    Bonjour à tous, et merci de prendre le temps de lire mon topic.

    J'aimerais pour me faciliter la vie faire une petite interface web simpliste qui me permettrais d'exploiter les données de l'API de mailjet. (un prestataire de service d'emailling)

    Voila j'aimerais faire un simple tableau qui contiendrais tous les domaines et toute les adresses que j'héberge et que je puisse avoir le compte d'email envoyés par domaine et par email.

    Cette API met à notre disposition un certain nombre de méthode qui nous permettent d'envoyer des requêtes (cachées) pour répondre à notre besoin mais voilà aucune ne correspond à mon besoin.

    Voila un petit exemple de comment marche l'API et du retur que l'on a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
     
    $smtp = new Mailjet();
     
    $methode = 'userSenderlist';
     
    $option = array();
     
    $type = 'GET';
     
    $therequest = $smtp->sendRequest($methode,$option,$type);
     
    if($therequest === true){ 
     
    $outgoing = $smtp->_response; 
    ?>
    <pre>
    <?php
    print_r($outgoing);
    ?>
    </pre>
    <?php
     
    } 
    else{ 
            echo "erreur de récupération des données";
    }
     
    ?>
    Et voici la réponse de la méthode que l'on a appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    stdClass Object
    (
        [status] => OK
        [senders] => Array
            (
                [0] => stdClass Object
                    (
                        [id] => 2454881869
                        [email] => *@****.fr
                        [label] => *****
                        [enabled] => 1
                        [email_type] => undefined
                        [status] => active
                        [type] => domain
                        [domain] => ******.fr
                    )
            )
    J'ai volontairement masqué les données en rapport avec le client dans un soucis de confidentialité Mais ceci n'est pas bloquant dans la compréhension de mon problème.

    Donc j'aimerais savoir comment puis-je procéder pour exploiter ses données sous la forme que je veux c'est a dire un tableau avec domaine email et le nombre d'email envoyés.

    Il existe des méthode qui comptent les email mais aucune ne renvois exactement les données dont j'ai besoin :/

    J'ai besoin de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ou est le nombre d'email dans ce que tu nous montres ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Justement pour l'instant j'aimerais déja réussir à sélectionner les infos que je veux car il faut faire le tri dans plusieurs méthode le nombre d'E-mail est dans une méthode statistique avec pleins d'autres information inutiles pour moi donc si j'arrive à afficher des infos ciblé dans chaque méthode je pourrais m'en sortir.

    J'ai préalablement essayé de faire quelque chose dite moi ce qui ne va pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $outgoing = $smtp->_response;
     
    foreach( $outgoing->senders as $index=>$valeur)  
        { 
                echo $valeur[domain].'<br>';
        } 
     
    } 
    else{ 
            echo "erreur de récupération des données";
    }
    Voici l'erreur :
    Fatal error: Cannot use object of type stdClass as array in /home/projetsm/www/mailjet/index.php on line 24
    Dans la description de la méthode senders est un Array ... Je suis un peu embêté la !

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 204
    Points : 4 677
    Points
    4 677
    Par défaut
    Senders et un tableau d'objets et pas de tableaux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $valeur->domain.'<br>';
    voir le print_r plus haut !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Vu sous cet angle je me sens un peu bête ..

    Merci de m'avoir mis en position de force sur cette API je vais en venir à bout ! aha

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut exploiter donnée api
    Bonjour,

    J'aimerais réaliser une petite interface web simpliste issu d'une aPI (mailjet) pour me simplifier la vie avec la gestion de mon compte d'emailling du style :



    J'arrive à récupérer le nom de domaine voila comment je procède :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
     
    class Domaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'userDomainlist';
     
    	private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    	}
     
    	public function NomDomaine()
    	{
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
    		if($therequest === true)
    		{ 
     
    		$outgoing = $this->smtp->_response;
     
    		foreach( $outgoing->domains as $valeur)  
    		    { 
    			    echo '<tr><td>'.$valeur->domain.'</td></tr>';
    		    } 
     
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <body>
    	<p>
    		<h1>Bienvenu sur l'interface Web de votre compte MailJet : </h1>
    	</p>
    	<center><table border="3">
    		<tr>
    			<td>
    				Nom du domaine :
    			</td>
    			<td>
    				Nombre d'email envoyé :
    			</td>
    		</tr> 
    		<?php 
     
    		$oDomaine = new Domaine(); 
    		$oDomaine->NomDomaine();
     
    		// $oMailSendDomaine = new MailSendDomaine();
    		// $oMailSendDomaine->TotalMailSend();
     
    		?>
    	</table></center>
    </body>
    </html>
    J'ai trouver une méthode qui compte les messages envoyé et on peut lui spécifié un filtre avec l'id du domaine que l'on veut et moi j'aimerais que pour chaque ligne je récupére cet id et qu'il puisse m'afficher le nombre d'email envoyé depuis ce domaine mais je n'arrive pas à trouver l'algo ..

    I need help

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach( $outgoing->domains as $valeur)  
    		    { 
    			    echo '<tr><td>'.$valeur->domain.'</td>';
    // mettre ici ta "méthode qui compte les messages envoyés"
    		    }

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 95
    Points
    95
    Par défaut
    Hello !

    Bon alors, pour l'algo : ce que tu veux c'est
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <tr>
        <td>Nom de domaine</td>
        <td>Nombre d'email</td>
    </tr>

    Donc il te faut aller chercher le nombre d'email envoyé dans la même boucle que le nom de domaine...

    Pour ce faire, je suppose que ton objet $outgoing->domains contiens d'autres informations que $valeur->domain (notamment $valeur->id j'éspère, ou quelque chose qui y ressemble )

    Donc il te suffit d'appeler TotalMailSend() en lui fournissant $valeur->id en paramètre dans ta boucle d'affichage !

    En espérant t'avoir aidé

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Exactement je peux lui demander de me retourner l'id du domaine, et c'est vrai que mettre dans la même boucle je n'y avait pas penser car au niveau de l'affichage j'avais quelque soucis en tout cas merci à vous deux pour cette piste je m'attelle à la tache !

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bon voilà j'ai éssayer de mettre en pratique les pistes que vous m'avez sugérées donc voila ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
    require_once('MailSendDomaine.php');
     
    class Domaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'userDomainlist';
     
    	private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    	}
     
    	public function NomDomaine()
    	{
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
     
    		if($therequest === true)
    		{ 
     
    		$outgoingDomaine = $this->smtp->_response;
     
    		$id_domaine = $this->outgoingDomaine->domains;
     
    		foreach( $id_domaine->domains as $valeur)  
    		    { 
    			    echo '<tr><td>'.$valeur->domain.'</td></tr>';
    			    foreach($outgoingMailSend->stats as $valeur)
    			    {
    			    	echo'<td>'.$valeur->cnt_messages.'</td>';
    			    }
    		    } 
     
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
    require_once('Domaine.php');
     
    class MailSendDomaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'reportEmailstatistics';
     
        //je lui passe le nom des domaines en paramètre pour qu'il compte le nombre d'E-mail envoyé par dommaine 
    	private $option = array(from_domain($id_domaine));
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    	}
     
    	public function TotalMailSend()
    	{
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
    		if($therequest === true)
    		{ 
     
    		$outgoingMailSend = $this->smtp->_response;
     
    		foreach( $outgoingMailSend->stats as $valeur)  
    		    { 
    			    echo '<td>'.$valeur->cnt_messages.'</td>';
    		    } 
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
    }
    ?>
    Et j'ai cette erreur la :

    Parse error: syntax error, unexpected '(', expecting ')' in /home/projetsm/www/mailjet/MailSendDomaine.php on line 13

    et voici la ressource de la méthode que j'utilise :

    https://fr.mailjet.com/docs/api/report/emailstatistics

    Des idées pourquoi sa cloche ou peut-être je m'y prend tres mal ?

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne peux pas avoir une fonction dans tes déclarations.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    		$this->option = from_domain($id_domaine);
    	}
    j'ai repris $id_domaine comme tu l'avais mis mais je ne sais pas d'ou il y vient.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par sabotage Voir le message
    j'ai repris $id_domaine comme tu l'avais mis mais je ne sais pas d'ou il y vient.
    Il viens de Domaine.php ligne 31 (voir-au dessus)

    J'ai fait la modif que vous m'avez dites et quelque petit ajustement et maintenant j'ai cela :

    Warning: Invalid argument supplied for foreach() in /home/projetsm/www/mailjet/Domaine.php on line 35

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
    require_once('MailSendDomaine.php');
     
    class Domaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'userDomainlist';
     
    	private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    		$this->oMailSend = new MailSendDomaine();
    	}
     
    	public function NomDomaine()
    	{
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
    		if($therequest === true)
    		{ 
     
    		$outgoingDomaine = $this->smtp->_response;
     
    		$this->oMailSend = $this->smtp->_response;
     
    		$id_domaine = $this->outgoingDomaine->domains;
     
    		foreach( $id_domaine->domains as $valeur)  
    		    { 
    			    echo '<tr><td>'.$valeur->domain.'</td></tr>';
    			    foreach($this->oMailSend->stats as $valeur)
    			    {
    			    	echo'<td>'.$valeur->cnt_messages.'</td>';
    			    }
    		    } 
     
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
    require_once('Domaine.php');
     
    class MailSendDomaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'reportEmailstatistics';
     
        //je lui passe le nom des domaines en paramètre pour qu'il compte le nombre d'E-mail envoyé par dommaine 
    	private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    		$this->option = new Mailjet();
     
    	}
     
    	public function TotalMailSend()
    	{
    		$this->option = from_domain($id_domaine);
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
    		if($therequest === true)
    		{ 
     
    		$outgoingMailSend = $this->smtp->_response;
     
    		foreach( $outgoingMailSend->stats as $valeur)  
    		    { 
    			    echo '<td>'.$valeur->cnt_messages.'</td>';
    		    } 
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
    }
    ?>

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    J'ai assez bien avancé dans mon problème petit à petit et la je sens bien que je touche au but :

    Donc j'ai créer une méthode qui retourne le nom du domaine dans Domaine.php (oui la méthode qui me donner le compte d'e-mail par domaine prend en paramètre son nom et pas un id ...)

    Mais voila quand je veux appeler cette méthode en paramètre de l'autre méthode
    j'ai une erreur 500

    Voici mes deux classe Domaine.php d'abord:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
    require_once('MailSendDomaine.php');
     
    class Domaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'userDomainlist';
     
    	private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    		$this->oMailSend = new MailSendDomaine();
    	}
     
    	public function NomDomaine()
    	{
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
    		if($therequest === true)
    		{ 
     
    		foreach( $outgoingDomaine->domains as $valeurdomaine)  
    		    { 
    			    echo '<tr><td>'.$valeurdomaine->domain.'</td></tr>';
     
    			    $this->oMailSend->TotalMailSend();
     
    		    } 
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
     
    	public function RetourNomDomaine()
    	{
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
     
    		if($therequest === true)
    		{
    			$outgoingDomaine = $this->smtp->_response;
     
    			$id_domaine = $outgoingDomaine->domains;
     
    			$id_domaine->domain;
     
    			return $id_domaine;
    		}
    	}
    }
    ?>
    Et voila l'autre classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php 
     
    require_once('php-mailjet.class-mailjet-0.1.php');
    require_once('Domaine.php');
     
    class MailSendDomaine extends Mailjet
    {
    	private $smtp;
     
        private $methode = 'reportEmailstatistics';
     
        //je lui passe le nom des domaines en paramètre pour qu'il compte le nombre d'E-mail envoyé par dommaine 
    	private $option = array();
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    		$this->option = new Mailjet();
    		$this->oDomaine = new Domaine();
     
    	}
     
    	public function TotalMailSend()
    	{	
     
    		$this->option = array(1 =>"NULL",2 => "NULL", 3 => $this->oDomaine->RetourNomDomaine());
    		$therequest = $this->smtp->sendRequest($this->methode,$this->option,$this->type);
    		if($therequest === true)
    		{ 
     
    		$outgoingMailSend = $this->smtp->_response;
     
    		foreach( $outgoingMailSend->stats as $valeur)  
    		    { 
    			    echo '<td>'.$valeur->cnt_messages.'</td>';
    		    } 
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
    }
    ?>
    Quelqu'un aurait une petit idée de ce qui ne vas pas ? :/

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Voila, maintenant j'arrive bien à récupérer le nombre d'email envoyé pour un seul domaine en rentrant le paramètre en dur mais ce qui ne vas pas c'est que lorsque je veux le faire dynamique en parcourant le tableau des noms de domaines il renvois le total de tout ls email envoyé et non pas le nombre d'email envoyé par domaine :/

    Voici comment j'ai arrangé mon code depuis mon dernier post :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <?php 
     
    include('php-mailjet.class-mailjet-0.1.php');
     
    class Domaine extends Mailjet
    {
    	private $smtp;
     
     
        private $methodeDomaine = 'userDomainlist';
    	private $methodeSend = 'reportEmailstatistics';
     
    	private $option = array();
    	// private $optionSend = array(1 =>"NULL", 2 => "NULL", from_domain => "medialta.com", 4 => "NULL", 5 => "NULL", 6 => "NULL", 7 => "NULL", 8 => "NULL", 9 => "NULL", 10 => "NULL");
     
    	private $type = 'GET';
     
    	public function __construct()
    	{
    		$this->smtp = new Mailjet();
    		$this->option = new Mailjet();
    	}
     
    	public function NomDomaine()
    	{
    		$therequest = $this->smtp->sendRequest($this->methodeDomaine,$this->option,$this->type);
     
    		if($therequest === true)
    		{ 
     
    			$outgoingDomaine = $this->smtp->_response;
     
    			foreach( $outgoingDomaine->domains as $valeur)  
    			    { 
    				    echo '<tr><td>'.$valeur->domain.'</td></tr>';
    			    }
     
    			$this->id_domaine = array($valeur->domain);
    			return $this->id_domaine;
    		} 
    		else{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
     
    	}
     
    	public function TotalMailSend()
    	{	
     
    		$therequest = $this->smtp->sendRequest($this->methodeSend,$this->optionSend,$this->type);
     
    		if($therequest === true)
    		{
    			$outgoingMailSend = $this->smtp->_response;
     
    			foreach( $this->NomDomaine() as $valeur)  
    			    { 
    				    echo '<td>'.$outgoingMailSend->stats->cnt_messages.'</td>';
    			    } 
    		} 
    		else
    		{ 
    			echo "Erreur de r&eacute;cup&eacute;ration des donn&eacute;es";
    		}
    	}
     
    	public function Tableau()
    	{
    		$ndd = $this->NomDomaine();
    		print_r($this->id_domaine);
    		foreach ($ndd as $value) 
    		{
    			$this->optionSend = array(1 =>"NULL", 2 => "NULL", from_domain => $this->id_domaine, 4 => "NULL", 5 => "NULL", 6 => "NULL", 7 => "NULL", 8 => "NULL", 9 => "NULL", 10 => "NULL");
    			$this->TotalMailSend($this->optionSend);
    		}
     
    	}
    }
    ?>
    Quelqu'un à une idée ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/04/2013, 18h45
  2. Exploiter les données d'une vue sur SQLServer
    Par siro1 dans le forum WebDev
    Réponses: 9
    Dernier message: 15/01/2013, 00h20
  3. [AC-2000] Exploiter les données figurant sur une liste
    Par ClaudeLELOUP dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/07/2010, 18h58
  4. Réponses: 7
    Dernier message: 09/11/2005, 14h37
  5. Exploiter les tables d'une base de données
    Par MAJIK_ENIS dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 30/07/2005, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo