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

Android Discussion :

Retourner plusieurs requêtes PHP vers Java


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Par défaut Retourner plusieurs requêtes PHP vers Java
    Bonjour à tous,

    je suis en train de créer une application qui est connecté à une base de données mySQL.
    Pour faire cette connexion j'ai utilisé les protocoles HTTP et je fais mes requête dans un fichier PHP qui a cet tête:

    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
     
    // on se connecte à notre base  pour recuperer les data
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('bonjour', $base); 
     
    $req = "SELECT name FROM salut WHERE age = 2";
    $req1 =mysql_query($req);
     
     
    while ($row = mysql_fetch_array($req1)) {    
     
    	$output[] = $row;
     
    	//ce qui suit est le code (JSON)
     
    	if (!function_exists('json_encode'))
    	{
    		function json_encode($a=false){
    			if (is_null($a)) return 'null';
    			if ($a === false) return 'false';
    			if ($a === true) return 'true';
    			if (is_scalar($a)){
    				if (is_float($a)){
    					// Always use "." for floats.
    					return floatval(str_replace(",", ".", strval($a)));
    				}
     
    				if (is_string($a)){
    					static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
    					return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
    				} else
    					return $a;
    			}
     
    			$isList = true;
    			for ($i = 0, reset($a); $i < count($a); $i++, next($a)){
    				if (key($a) !== $i){
    					$isList = false;
    					break;
    				}
    			}
    			$result = array();
    			if ($isList){
    				foreach ($a as $v) $result[] = json_encode($v);
    				return '[' . join(',', $result) . ']';
    			}else {
    				foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
    				return '{' . join(',', $result) . '}';
    			}
    		}
    	}
    }
    //on encode en JSON 
    print(json_encode ($output));
    mysql_free_result ($req1);  
    ?>
    Cependant si je fais une deuxième requête comment je peux faire pour l'encoder en JSON et donc la retourner dans le JAVA ?

    Je vous remercie

    Vivien

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Ton probléme c'est pour mettre la 2eme requetes?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while($row=mysql_fetch_assoc($sql))
    	$output[]=$row;
    print(json_encode($output));

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Par défaut
    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
     
    <?php
     
    // on se connecte à notre base  pour recuperer les data
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('bonjour', $base); 
     
    $req = "SELECT name FROM salut WHERE age = 2";
    $req1 =mysql_query($req);
     
    $reqbis = "SELECT statut FROM voila WHERE longueur =4"
    $reqbis1 = mysql_query($reqbis)
     
     
    while ($row = mysql_fetch_array($req1)) {    
     
    	$output[] = $row;
     
    	//ce qui suit est le code (JSON)
     
    	if (!function_exists('json_encode'))
    	{
    		function json_encode($a=false){
    			if (is_null($a)) return 'null';
    			if ($a === false) return 'false';
    			if ($a === true) return 'true';
    			if (is_scalar($a)){
    				if (is_float($a)){
    					// Always use "." for floats.
    					return floatval(str_replace(",", ".", strval($a)));
    				}
     
    				if (is_string($a)){
    					static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
    					return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
    				} else
    					return $a;
    			}
     
    			$isList = true;
    			for ($i = 0, reset($a); $i < count($a); $i++, next($a)){
    				if (key($a) !== $i){
    					$isList = false;
    					break;
    				}
    			}
    			$result = array();
    			if ($isList){
    				foreach ($a as $v) $result[] = json_encode($v);
    				return '[' . join(',', $result) . ']';
    			}else {
    				foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
    				return '{' . join(',', $result) . '}';
    			}
    		}
    	}
    }
    //on encode en JSON 
    print(json_encode ($output));
    mysql_free_result ($req1);  
    ?>
    Voilà dans le code j'ai rajouté une requete. J'ai donc deux requêtre $req et $reqbis, comment je fais pour retourner leur résultat dans le Java, car pour le moment seul req1 est retourné car seul ses résultats sont dans $output[]

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Quel rapport entre PHP et Java ? JSON

    Donc la vraie question est comment renvoyer le résultat de deux requêtes en JSON ?

    http://fr.wikipedia.org/wiki/JavaScript_Object_Notation

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Par défaut
    Oui voilà, désolé s'était clair pour moi mais c'est vrai que je me suis pas exprimé de façon clair.

    C'est donc bien ça, je n'arrive pas à renvoyer le résultat de deux requêtes à JSON pour ensuite récupérer les données en JAVA.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Tout simplement en utilisant des tableaux (associatifs ou non) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return json_encode(new array("REQUETE 1" => $req1, "REQUETE 2" => $req2));

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

Discussions similaires

  1. Requête PHP + List Java
    Par iToss dans le forum Android
    Réponses: 2
    Dernier message: 17/10/2013, 20h01
  2. Passer des variables de PHP vers Java
    Par marooh dans le forum Général Java
    Réponses: 1
    Dernier message: 12/04/2013, 19h20
  3. Conversion d'un bout de code PHP vers Java
    Par chatlumo dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 09/10/2012, 17h29
  4. De PHP vers Java
    Par mctarek dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 17/04/2012, 13h26
  5. [PHP-JS] Requête PHP vers SQL dans un script JavaScript
    Par AngelFire dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2008, 11h13

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