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 :

manipulation d'une chaine de caractères sous format xml


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut manipulation d'une chaine de caractères sous format xml
    Bonjour,
    dans mon script php j'ai une chaine de caractères ,que je récupère en exécutant un programme externe,qui égale à "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    "<?xml version='1.0' encoding='ISO-8859-1' ?>
    <Carte>
      <Nbr_cartes>2</Nbr_cartes>
      <Stat_Ip>4119</Stat_Ip>
      <Type_carte>DTA-115 (#2)</Type_carte>
      <Taux_flux_transport>-858993460 bps</Taux_flux_transport>
      <Type_Modulation>?</Type_Modulation>
      <Frequence>578.00 MHz</Frequence>
      <Niveau_signal>-27.5 dBm</Niveau_signal>
      <Adresse_IP>204.204.204.204:52428</Adresse_IP>
      <Protocole>UDP</Protocole>
    </Carte>"
    Je veux manipuler cette chaine afin d'enregistrer chaque valeur entre deux balises dans un champs d'une table de la base de données mySql

  2. #2
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut
    C'est bon,j'ai réussi à le faire à l'aide du simpleXML,là il me reste à convertir la valeur de Fréquence (ex: 666MHz) en entier(666),mais en sait pas s'il y a 2 ou 3 chiffres ou s'il y a des chiffres après la virgule

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut
    C'est bon avec (int)$frequence;
    J'ai un autre problème,quand j'effectue l'insertion dans la base de données,il me retourne erreur voici le 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
      //...............
    	$cartes = new SimpleXMLElement($xmlstr);
    	$freq = (FLOAT)$cartes->Carte[0]->Frequence;
    	$txt = (String)$cartes->Carte[0]->asXML();
     
    	//echo $freq;
    	//echo $txt;
    	//echo"\n";
    	$req = "INSERT INTO dtinv_log_agent VALUES (DEFAULT,DEFAULT,NOW(),$freq,1,$txt)";
    	//$dataset = mysql_query($req);
    	$dataset = mysql_query($req) or die($req.mysql_error());
    	 if($dataset)
         	 {
    		echo("Données Insérées avec succès\n") ;
    	 }
    	 else
    	 {
    		echo("L'opération à échouée") ;
    	 }
    et voici l'erreur retournée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    )You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<Carte>
      <Nbr_cartes>2</Nbr_cartes>
      <Stat_Ip>4119</Stat_Ip>
      <Type_carte>DTA' at line 1
    le champs correspondant à $txt dans la table est de type text.
    Sachant que quand j'enlève "$txt" de la requête et je la remplace par "qlqChose" ça marche

  5. #5
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Par défaut
    Y'a pas de quote entourant $txt dans ta requete, sont-ils dans $txt ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut
    voici la valeurde $txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    "<Carte>
      <Nbr_cartes>2</Nbr_cartes>
      <Stat_Ip>4119</Stat_Ip>
      <Type_carte>DTA-115 (#2)</Type_carte>
      <Taux_flux_transport>-858993460 bps</Taux_flux_transport>
      <Type_Modulation>?</Type_Modulation>
      <Frequence>578.00 MHz</Frequence>
      <Niveau_signal>-27.5 dBm</Niveau_signal>
      <Adresse_IP>204.204.204.204:52428</Adresse_IP>
      <Protocole>UDP</Protocole>
    </Carte>"

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

Discussions similaires

  1. [XL-2010] Manipulation d'une chaine de caractères
    Par CristofMartins dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/05/2013, 15h14
  2. [MySQL] Manipulation d'une chaine de caractère.
    Par Tanoak_LaCapuche dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/07/2012, 09h01
  3. Chercher et insérer une chaine de caractères dans du XML
    Par imen1986 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 23/04/2010, 00h19
  4. Réponses: 7
    Dernier message: 07/04/2010, 16h52
  5. Réponses: 3
    Dernier message: 01/02/2006, 18h26

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