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

Bibliothèques et frameworks PHP Discussion :

[DOM] Compter le nombre de titre


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut [DOM] Compter le nombre de titre
    Bonjour à tous,
    J'ai un fichier xml qui contient des titres de livres et en début de ce fichier il y a la balise <ENOTICE COUNT="12"> qui indique le nombre de livre au total et et je voudrai afficher ce nombre .
    Pourriez-vous m'aider ? merci beaucoup

    voici mon fichier xml

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="UTF-8"?>
    <ENOTICE COUNT="2">
    <RECORD><TITRE TYPTITRE="TP1">Photographie numérique médicale</TITRE><AUTEUR SOURCE="Electre" SOURCEID="0">Ben Slama, Lotfi</AUTEUR><AUTEUR SOURCE="Electre" SOURCEID="0">Chossegros, Cyrille</AUTEUR><RESPONSABLE>Lotfi Ben Slama, Cyrille Chossegros</RESPONSABLE><ARTICLE><RELIURE>Broché</RELIURE><ISBN>2-294-02130-4</ISBN><EAN>9782294021305</EAN><PRIX>25,00</PRIX><DEVISE>EUR</DEVISE><TVA ID="4" SOURCE="Electre">5,50</TVA><DATE>12/09/2007</DATE><DISPO ID="2" SOURCE="Electre">A paraître</DISPO></ARTICLE><EDITEUR SOURCE="Electre" SOURCEID="0"><NOM>Masson</NOM><LIEU>Issy-les-Moulineaux (Hauts-de-Seine)</LIEU></EDITEUR><COLLECTION SOURCE="Electre" SOURCEID="0"><COLLTITRE>Abrégés de médecine</COLLTITRE></COLLECTION><DESCRIPTION><PAGE>128 p.</PAGE><FORMAT>21 x 14 cm</FORMAT><ILLUSTRATION>illustrations en noir et blanc</ILLUSTRATION></DESCRIPTION><THEME SOURCE="Electre">610 Médecine</THEME><THEMGENR><THEME CODE="T160010">Médecine Médecine</THEME></THEMGENR></RECORD>
    <RECORD><TITRE TYPTITRE="TP1">Comment réussir ses pratiques au DEMERM ? : diplôme d'Etat de manipulateur en électro-radiologie médicale</TITRE><AUTEUR SOURCE="Electre" SOURCEID="0">Bordas, Ludovic</AUTEUR><AUTEUR SOURCE="Electre" SOURCEID="0">Vissio, Guillaume</AUTEUR><RESPONSABLE>Ludovic Bordas, Guillaume Vissio</RESPONSABLE><ARTICLE><RELIURE>Broché</RELIURE><ISBN>978-2-85385-298-2</ISBN><EAN>9782853852982</EAN><PRIX>11,00</PRIX><DEVISE>EUR</DEVISE><TVA ID="4" SOURCE="Electre">5,50</TVA><DATE>19/02/2007</DATE><DISPO ID="1" SOURCE="Electre">Disponible</DISPO></ARTICLE><EDITEUR SOURCE="Electre" SOURCEID="0"><NOM>Heures de France</NOM><LIEU>Paris</LIEU></EDITEUR><COLLECTION SOURCE="Electre" SOURCEID="0"><COLLTITRE>Bureau des étudiants en radiologie</COLLTITRE></COLLECTION><DESCRIPTION><PAGE>62 p.</PAGE><FORMAT>20 x 12 cm</FORMAT></DESCRIPTION><THEME SOURCE="Electre">610 Médecine</THEME><THEMGENR><THEME CODE="T160010">Médecine Médecine</THEME></THEMGENR></RECORD>
     
    </ENOTICE>
    et voici mon code pour récupérer le titre dans un select (et ca marche)

    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
     
     
    <select name="COUNT" class="formulaire7" id="COUNT" onChange="theme.value=this.value;txtTitreDeterminant.value=this.value;numcollection.value=this.value;ean.value=this.value;annee.value=this.value;editeur.value=this.value;collection.value=this.value;auteur.value=this.value; titre.value=this.value; isbn.value=this.value;updateTitreXML();"  onclick="InitModif(this)">
              <?php
    		  ///////////////////////////AFFICHAGE DU PRIX DANS UN SELECT///////////////////////////////
     
    	$k=1;
        $enotice = $xml["ENOTICE"]["#"]["RECORD"]; 
        $nom_prix = array();
        for($i = 0; $i < sizeof($enotice); $i++) {      
            $entree = $enotice[$i];   
            $k++;
            // affichage d'EDITEUR (element compos&eacute;) 
            $record = $entree["#"]["ARTICLE"];
    		if (array_key_exists ("ARTICLE", $entree["#"])){ 
                $prix = $entree["#"]["ARTICLE"][0]["#"]; 
                $nom = $prix["PRIX"][0]["#"];
    			$nom_prix = $nom;
            } 
            else {
    		   $nom_prix = " "; 
            }
    	   $nom_prix = number_format($nom_prix * 2,2);
    	   echo("<option value=$k>$nom_prix</option>");            
         } 
     
    ?>
                    </select>

  2. #2
    Membre Expert
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 299
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 299
    Par défaut
    Tu extraits la chaîne entre tes balises <ENOTICE> et tu comptes les occurrences de <RECORD>

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut Extraire
    Merci beaucoup de ta réponse.
    Il faudrait juste extraire le "<ENOTICE COUNT="2">" mais je ne sais pas comment pourrais-tu m'aider ou me donner un exemple ?
    Merci beaucoup

  4. #4
    Membre éprouvé
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    Citation Envoyé par iomega
    Merci beaucoup de ta réponse.
    Il faudrait juste extraire le "<ENOTICE COUNT="2">" mais je ne sais pas comment pourrais-tu m'aider ou me donner un exemple ?
    Merci beaucoup
    En javascript, ça donnerait un truc du genre

    var en=document.getElementsByTagName("ENOTICE");
    var total=en[0].count.value;

    ou alors, plus simple

    var rec=document.getElementsByTagName("RECORD");
    var total=rec.length;

    Après, tu dois peut etre obligatoirement récupéré le résultat en PHP...

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Par défaut
    Merci beaucoup mais je voudrai y faire avec php

  6. #6
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match('#(?<=<ENOTICE COUNT=")\d+#', $xml, $n);
    echo $n[0];

Discussions similaires

  1. Compter le nombre de caractères dans le titre d'un fichier
    Par jerem7286 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 02/11/2013, 15h47
  2. [DOM] Compter un nombre de noeux ou attributs
    Par starr dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 31/08/2007, 21h22
  3. compter le nombre de record
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 12/03/2003, 10h53
  4. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 21h25
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 10h41

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