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

PHP & Base de données Discussion :

regex : exploiter plusieurs pattern pour insert en BDD


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 56
    Points : 30
    Points
    30
    Par défaut regex : exploiter plusieurs pattern pour insert en BDD
    Bonjour,

    je vous ecris car je suis confronté à un problème qui me taraude et pour lequel je n'ai pas de solution.
    Pour vous permettre de comprendre ma problématique je vais vous présenter ma situation.

    j'ai dans ma bdd les champs suivants :

    ID|type|serie

    De l'autre coté jai une page HTML qui contient des infos que je souhaitent insérer en BDD.

    Ces dernières se présentent de la façon suivante :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
    <td class="style1">Type de Produit</td>
    <td class="desc">voilier 750</td>
    </tr>
    <tr>
    <td class="style1">Séries</td>
    <td class="desc"> 4 </td>
    </tr>
    Pour extraire les données entre ces balises j'ai la regex suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    preg_match_all('#<td class="style1">\s*(.*)\s*</td>\s*<td class="desc">\s*(.*)\s*</td>#i',$content,$info, PREG_PATTERN_ORDER);
    ?>


    Mon but étant de sortir la catégorie et sa valeur.

    Ex : catégorie : Type de Produit
    valeur : voilier 750

    catégorie : Séries
    valeur : 4


    Mais voila à la fin on m'affiche un truc dans le genre suivant : Séries 4 OU Type de Produit voilier 750

    Je n'ai pas de séparation entre la catégorie et la valeur

    Du coup je ne peux pas faire l'algorithme suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into maTable(ID,type,serie) Values('',' valeur de Type de Produit','valeur de Séries');
    Quelqu'un pourrait il m'aider =( car je sui complètement coincé et meme pour aller plus loin je ne sais pas comment associer le champs de ma bdd et la categorie du html pour insérer sa valeur .

    ex : pour le champ de ma bdd : "type" j'aimerai l'associer avec la catégorie "Type de Produit" du html pour y insérer sa valeur à savoir "voilier 750"

    ce qui donnerait dans ma bdd :
    ID|type|serie
    1|voilier 750|4


    merciiii beaucoup et d'avance !! en esperant avoir été claire

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 193
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 193
    Points : 8 403
    Points
    8 403
    Billets dans le blog
    17
    Par défaut
    Je ne comprends pas ton pb. Avec ton script on obtient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Array (
        [0] => Array (
                [0] => <td class="style1">Type de Produit</td><td class="desc">voilier 750</td>
                [1] => <td class="style1">Séries</td><td class="desc"> 4 </td>
            )
        [1] => Array (
                [0] => Type de Produit
                [1] => Séries
            )
        [2] => Array (
                [0] => voilier 750
                [1] => 4 
            )
    )
    On retrouve bien le type dans $info[2][0] et la série dans $info[2][1]
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    merciiii Sèb grâce a ta représentation du tableau j'ai compris ce que je devais faire !!!!!!

    j'ai juste une question simpliste (désolé jai du mal avec les array) =(
    comment parcourir le tableau ayant l'indice 2

    je dois faire foreach de quoi???

    merciiii en tout cas !!!


    [2] => Array (
    [0] => voilier 750
    [1] => 4
    )

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 193
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 193
    Points : 8 403
    Points
    8 403
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par kairi084 Voir le message
    grâce a ta représentation du tableau j'ai compris ce que je devais faire !!!!!!
    Ce n'est qu'un print_r( ) http://fr.php.net/print-r

    Ex. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<pre>', print_r($un_tableau, FALSE), '</pre>' ;
    // <pre> Pour conserver le formatage
    j'ai juste une question simpliste (désolé jai du mal avec les array) =(
    comment parcourir le tableau ayant l'indice 2
    La réponse est dans la question

    je dois faire foreach de quoi???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ( $info[2] as $element ) {
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. [XL-2010] convertir tableau pour insertion dans bdd
    Par nancy38 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2013, 17h25
  2. sql.Date date du jour pour insertion en BDD
    Par vince29 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 08/06/2012, 11h53
  3. [MySQL] récupérer le nom d'une photo pour insertion dans BDD
    Par HAbroc dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/06/2009, 19h40
  4. Insertion de plusieurs paramètres pour le rapport
    Par elodie59310 dans le forum iReport
    Réponses: 5
    Dernier message: 01/02/2007, 23h31
  5. [CKEditor] Probleme pour afficher le code html apres insertion dans bdd
    Par Pepito2030 dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 28/12/2006, 21h52

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