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

  1. #21
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    J'ai essayé mais ça ne fonctionne pas. Bizarre tous de même qu'une chose aussi anodine soit aussi difficile à gérer ou du moins aussi peu courante

  2. #22
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Et si tu tentes de mettre \\\\n en tant que séparateur ?
    Echapper le caractère qui échape au cas où ce serait interprété.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #23
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    Désolé mais j'ai pas bien compris ce que tu as voulu dire

  4. #24
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Oui mais je ne comprends pas.... COMMENT la données est arrivée comme ça dans la DB....
    Justement le but est de ne PAS escaper le CR

    Si quand tu te connectes à la DB par SQL, et que tu fais un select, tu dois *deja* avoir plusieurs lignes si ce n'est pas le cas, les données en DB ne sont pas bonnes...
    D'ou ma question comment tu mets en DB les \n ?
    (attention, quand on parle de \n on parle bien d'un SEUL caractères pas des deux caractères \ et n !! Le \ disant 'ce qui suit est une caractère de controle' et n 'le caractère de controle correspondant au CR=CarriageReturn')
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #25
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    La BDD je la rempli en allant sur mySQL et en entrant les données à la main, les données sont déjà dans la base. Mais dans un varchar sur mySQL il faut rentrer tout en ligne, c'est à dire je rentre tous sur une ligne mais je souhaite pouvoir insérer un caractère retour à la ligne comme ça quand je les récupères dans le JAVA c'est sur plusieurs lignes et non pas une seul comme quand je l'ai entré à la main dans la BDD

  6. #26
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Les données sont donc entrées par l'entremise d'un éditeur...
    L'éditeur doit forcément fournir le moyen pour insérer des caractères spéciaux (surtout si la base est UTF-8, comment insérer un Kanji sinon ?), ce qui inclus les CR LF...

    Des fois c'est simplement ctrl+return ....

    Sinon, il peut y avoir moyen d'uploader depuis un fichier CSV ?

    Ce qui est sur, c'est que entrer à la main les 2 caractères \ et n ne marchera pas... ça fera deux caractères \ et n au lieu du caractère de contrôle 0x0A.
    Dans JAVA, \n dans une chaîne est interprété par JAVA, et il faut 'escaper' le premier backslash pour que JAVA le considère comme deux caractères: \\n

    La solution de dernier recours, est d'imagine un tag (par exemple <br/> pourquoi pas) spécifique qui sera décodé à la lecture... bien moins souple à mon avis qu'avoir de bonnes données d'entrée de jeu.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #27
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    Ne trouvant pas d'issu j'ai opté pour un champ Text au lieu de Varchar dans la base de données et le je peux entré plusieurs lignes et je les récupères bien dans le .JAVA

    Ce topic est donc clos, merci beaucoup à toutes les personnes qui m'ont données de leurs temps.

  8. #28
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    Tout d'abord désolé pour le double post consécutif mais ma question entre pleinement dans ce topic.

    En effet je n'ai toujours pas réussi à encoder le résultat de deux requête en JSON, cette question j'aurais pu la poser dans la partie PHP également mais comme elle fait parti intégrante de ce sujet je la pose ici.

    Voici mon fichier PHP simplifié, juste pour que vous comprenez bien ce qui se passe sans que vous aillez à tous décoder, le but n'étant pas de vous faire travailler pour rien

    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
     
    $base = mysql_connect ('root', 'root', '');  
    mysql_select_db ('ma_base', $base); 
     
    $req = "SELECT * FROM salut";
    $reqSuivante = "SELECT * FROM bonjour";
     
    $reqbis = mysql_query($req);
    $reqSuivantebis = mysql_query($reqSuivante);
     
    while($row=mysql_fetch_array($reqbis))
    	$output[]=$row;
     
    while($row=mysql_fetch_array($reqSuivantebis))
    	$outputSecond[]=$row;
     
    //Pour enconder les données en JSON je fais:
    return json_encode(new array("requete1" => $reqbis, "requete2" => $reqSuivantebis));
    Mais j'ai cette erreur: Parse error : syntax error, T_ARRAY inattendu dans../../../Infos.php en ligne 159

    la ligne 159 étant le return... Je ne comprend pas. Pourtant c'est ce qu'on m'a conseillé de faire dans ce topic pour retourner 2 requêtes. Mais je m'en fait pas j'ai du faire une erreur quelque part.

    Je vous remercie d'avance

  9. #29
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Il te faut retourner ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return json_encode(new array("requete1" => $output, "requete2" => $outputSecond));

  10. #30
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    ah oui merci, effectivement. Maintenant je rencontre une nouvelle erreur dans le Java.

    Voici comment je récupère mes donné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
     
     try {
                HttpClient httpclient = new DefaultHttpClient();
                String url = "http://www.truc.com/Infos.php";
                HttpPost httppost = new HttpPost(url);
                nameValuePairs.add(new BasicNameValuePair("nomRestaurant", nomRestaurant));
    		    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
     
                json= new JSONObject(EntityUtils.toString(response.getEntity()));
                JSONArray jArray1 = json.getJSONArray("requete1");
     
                for(i=0;i<jArray1.length();i++)
                {
     
                   json_data = jArray1.getJSONObject(i);
                   String salut;
                   salut = json_data.getString("horaires");
                   System.out.println("Proutttttttt" + salut);
     
     
               }
     
     
                JSONArray jArray2 = json.getJSONArray("requete2");
     
                for(i=0;i<jArray2.length();i++)
                {
     
                   json_data = jArray2.getJSONObject(i);
     
     
               }
     
     
     
            } catch (Exception ex) {
                // signaler l'erreur
                Log.e("MyAppTag","Erreur réception données", ex);
                Toast.makeText(getBaseContext(),ex.getLocalizedMessage(),Toast.LENGTH_LONG).show();
               // ou throw new Exception(); si il faut signaler l'erreur à l'appelant !
            }
    Et j'ai ce message d'erreur:



    L'erreur porte sur cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    json= new JSONObject(EntityUtils.toString(response.getEntity()));
    Je vous remercie d'avance. Encore chapeau pour la disponibilité sur ce forum.

  11. #31
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Tu ne reçois rien de ta page php.

    Essaie d'afficher ceci dans ton application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EntityUtils.toString(response.getEntity())
    Cela peut venir du fait que tu fait un return et non un echo. Essaie aussi de remplacer cela.

  12. #32
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    J'ai affiché, mais rien ne s'affiche, c'est donc vide je suppose.

    Quand je renvoyer avec une requête je faisais un print et non un return.

    EDIT:

    j'ai fais un print j'ai toujours cette erreur, mais je reçois les données... Faut-il que je résous ce problème tous de même car il risque de poser problème dans certain cas ?

  13. #33
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Peux tu nous écrire le résultat produit par ton script .php ?

  14. #34
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    comment ça ? ce que ça m'affiche quand je clic sur le fichier présent sur le serveur ?

  15. #35
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Oui, que produit l’exécution de ton script

  16. #36
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    null mais c'est nomal car j'envoi une données dans le fichier php, qui vaut null si l'application n'est pas lancé puisque cette donnée compose la requête. Mais bon là j'arrive à récupérer toutes mes données.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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