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 :

Concaténer deux liste déroulante en une seule


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut Concaténer deux liste déroulante en une seule
    Voila je veux concatener deux listes contenanr des pays en une seule , les donées sont prise depuis un autre serveur via l'Api SOAP par des fonctions prédéfinies. il y'a deux type de pays ; il ya des pays dits NATIONAL et d'autre dits GEOGRAPHIC dans la fonction qu'ils m'ont donné ils ont mis par défaut 'GEOGRAPHIC' voici la fontion qui récupére les pays:
    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
     
    function getCountriesList(){
    	$client = new VoxAPIClient('http://sandbox.voxbone.com/VoxAPI/services/VoxAPI?wsdl', true);
    	$token = getToken();
    	$request = new GetCountriesListRequest( $token );
    $request->setDIDType('GEOGRAPHIC');
    	$response = $client->getCountriesList( $request );
    /*
    	echo '<pre>';
    		print_r($client->debug());
    	echo '</pre>';
    */
    /*
    	echo '<pre>';
    	print_r($response);
    	echo '</pre>';
    */
    	return $response;
    }
    et pour l'affichage je fais:
    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
     
    <form action="./index.php">
     
    	<?php
    		$countriesList = getCountriesList();
     
    	?>
    	<select name="CountryID" onChange="submit();">
     
    	<?php
    		if( !isset( $_GET['CountryID'] ) ){
    			echo "<option value=-1>------------------------------</option>";
    		}
    		foreach( $countriesList as $country ){
    			$opt = "<option value=$country->CountryID";
    			// default value is the selected value
    			if( isset( $_GET['CountryID'] ) && $_GET['CountryID'] == $country->CountryID ){
    				$opt = $opt." SELECTED>";
    			}else{
    				$opt = $opt.">";
    			}
    			$opt = $opt."$country->CountryName (+$country->CountryCode)</option>";
     
    			echo $opt;
    		}
     
    	?>
    	</select>
    	</form>
    Je leurs ai demandé une aide et voila ce qu'ils m'ont dit
    "Alors il faut faire 2 requetes pour la liste: la premiere avec "National" et puis la deuxieme avec "Geographique" mettez les resultats dans le meme object array et vous avez la concatenation."
    Et je suis vraiment perdu avec si quelqu'un a une idée

  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
    Ca devrait fonctionner comme ca :
    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
    	$client = new VoxAPIClient('http://sandbox.voxbone.com/VoxAPI/services/VoxAPI?wsdl', true);
     
    	$token = getToken();
    	$request = new GetCountriesListRequest( $token );
    $request->setDIDType('GEOGRAPHIC');
    	$geographic = $client->getCountriesList( $request );
     
    	$token = getToken();
    	$request = new GetCountriesListRequest( $token );
            $request->setDIDType('NATIONAL');
    	$national= $client->getCountriesList( $request );
     
           $reponse = array_merge($geographic, $national);
     
           return $response;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut
    il m'affiche seulement les pays de type geographic

    voici le lien http://jonesbrotherstelecom.com/demo/
    un instant je vous fais un repertoire avec uniquement les pays de type national

    voici le lien avec les pays national:
    http://jonesbrotherstelecom.com/demo1/

    est ce que la fonction getCountriesList() ne devrait pas avoir en paramétre le tableau?

  4. #4
    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
    Ajoute un print_r pour qu'on controle ce qu'on recoit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $national= $client->getCountriesList( $request );
    print_r($national);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut
    ok ça affiche tous les pays de type national avec leur caractéristique voici un exemple:
    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
     
    Array
    (
        [0] => stdClass Object
            (
                [CountryID] => 14
                [CountryName] => AUSTRIA
                [CodeA2] => AT
                [CountryCode] => 43
                [HasStates] => false
            )
     
        [1] => stdClass Object
            (
                [CountryID] => 17
                [CountryName] => BAHRAIN
                [CodeA2] => BH
                [CountryCode] => 973
                [HasStates] => false
            )
     
        [2] => stdClass Object
            (
                [CountryID] => 21
                [CountryName] => BELGIUM
                [CodeA2] => BE
                [CountryCode] => 32
                [HasStates] => false
            )
    ...
    )

  6. #6
    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
    Bon efface le premier print_r et fais la meme chose avec $reponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $reponse = array_merge($geographic, $national);
    print_r ($reponse);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut
    bonjour,
    j'ai effacer les premiers print et j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     echo '<pre>';
    	print_r($response);
    	echo '</pre>';
    mais ça n'affiche rien

  8. #8
    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
    Il y a confusion $reponse $response
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      $response = array_merge($geographic, $national);
     
           return $response;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut
    Merci beaucoup pour votre aide ça m'affiche maintenant tous les pays.merci encore une fois de plus

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

Discussions similaires

  1. [AC-2013] Combiner deux liste déroulantes dans une tables acces
    Par hasnae18 dans le forum Access
    Réponses: 3
    Dernier message: 21/04/2015, 10h29
  2. Réponses: 2
    Dernier message: 11/03/2009, 10h36
  3. Réponses: 4
    Dernier message: 16/02/2009, 20h52
  4. Concaténer deux listes déroulantes dans un champs texte en direct
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 11/12/2007, 17h50
  5. [AJAX] lier deux listes déroulantes alimenté par une base de données (Mysql)
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/04/2007, 01h06

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