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 :

éliminer des mots dans une chaine et inserer dans la base


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut éliminer des mots dans une chaine et inserer dans la base
    Bonjour,
    j'ai une question :
    j'ai une chaine de caractére, et sur cette chaine de caractere j'ai fiat plusieurs traitemant qui sont :
    1- supprimer les caractéres spécieux.
    2- éliminer les mots vides comme : de, le, les, une, des,.....
    3-et je récupéres chaque mots aprés l'élimination des caractéres spécieux et les mots vides et je calcule le nobre d'occurence et a la fin je l'inserer dans la base de données.

    voila 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    $chaine="emploi, recrutement de,offre emploi en ,lettre motivation,emploi, recrutement , recherche emploi, actualite emploi, formation, annonces emploi, cabinet de recrutement, carrière; cabinets de recrutement.";
     
    	  $aTab = preg_split('`[\s| :\,\ ;\.\«\»\"\\\/{\}\-\_(\)\+\-\[\]\=\?\!\$\©\@\§\ \ ]+`', $chaine);//supprimer les caractéres spécieux
    	  While (list ($cle,$valeur) = each($aTab)) //afficher sous forme d'un tableau
    	           {
    	            echo $cle." - ".$valeur."<br />";
    	   	       }
      	   //éliminer les des mots vides
           $aTab = array_flip($aTab);
    	           unset($aTab['de']); //supprimer le mot vide "de"
           $aTab = array_flip($aTab);
     
    	   //transformer le tableau sous forme d'une chaine de caractére 
    	  $champs1=implode(" ",$aTab);
    	  echo ("$champs1"); //afficher la chaine
     
     
    	  $chaine2 = "$champs1";
          $nb = array_count_values(explode(' ', strtolower($chaine2))); //pour calculer le nombre d'occurence
     
          echo '<pre>';
          While (list ($cle,$valeur) = each($nb))
    	           {
    	            echo $cle." - ".$valeur."<br />";
    			   }
           echo '</pre>';
     
    	   //inserer dans la base de donner
    	  $value = array();
    	  foreach($nb as $mot)
                 {
                    $value[] = "('$mot')";
                 }
     
                   // connexion SQL
          mysql_query("INSERT INTO stage (terme) VALUES ".implode(',', $value)) or die(mysql_error());
    	  mysql_close();


    la question :
    le reultat d'affichage :
    Code html : 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
    0 - emploi
    1 - recrutement
    2 - en
    3 - offre
    4 - emploi
    5 - de
    6 - lettre
    7 - motivation
    8 - emploi
    9 - recrutement
    10 - recherche
    11 - emploi
    12 - actualite
    13 - emploi
    14 - formation
    15 - annonces
    16 - emploi
    17 - cabinet
    18 - de
    19 - recrutement
    20 - carrière
    21 - cabinets
    22 - de
    23 - recrutement
    24 - 
    emploi recrutement en lettre motivation recherche actualite formation annonces cabinet carrière cabinets 
    emploi - 1
    recrutement - 1
    en - 1
    lettre - 1
    motivation - 1
    recherche - 1
    actualite - 1
    formation - 1
    annonces - 1
    cabinet - 1
    carrière - 1
    cabinets - 1 
    - 1


    et insere dans la base de données les nombres d'occurence (1,1,1,1,1,.....).

    svp ace qu'il ya qlq peut me répondre et m'aider c'ets urgent svp. j'ai besoin d'une réponse pour que je puisse continue c'est la base de mon travail.
    merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    tu aurais pas oublié de poser ta question ?

  3. #3
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut
    Bonjour,
    j'ai pas comprais.
    merci d'avance.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Traduction : nous n'avons pas compris ce que tu cherches à faire ni ce que tu nous demandes. Pourrais-tu préciser ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut
    Bonjour,
    ma question :
    dans la chaine de caractere le mon 'emploi' se trouve 6 fois dans la chaine mais dans le resulatat d'affichage de nombre d'occurences elle affiche "1".
    et la deuxieme question quans j'inser le resultat dans la base de données je souhaite d'insere le mots et le nombres d'oocurence mais dans mon cas elle affiche seulement le nombre d'occurences.

    j'espere que vous avez comprais maintenant pour que me répondre.
    merci d'avance.

  6. #6
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    Par définition, une question se termine par le symbole '?'. Tu pourrais également faire un effort au moins pour la grammaire quand tu demandes de l'aide.

    Pour ta première question, je n'ai pas de solution. Essaye de faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    print_f(explode(' ', strtolower($chaine2)));
    echo '</pre>';
    juste avant d'affecter $nb qu'on voit ce que tu comptes réellement.

    Pour la 2ème "question" : INSERT INTO stage (terme) VALUES ".implode(',', $value))

    Tu demande à insérer 1 et 1 seul paramètre... Donc forcément tu peux pas avoir les 2 dans ta table...
    il aurait fallu que ta requetes ressemble a :

    INSERT INTO stage (terme, occurences) VALUES ...

    pour avoir une chance que ça fonctionne, et que $value contienne des enregistrements de la forme (mot, nombre_occuences)...

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/01/2012, 15h50
  2. Réponses: 1
    Dernier message: 15/04/2009, 19h28
  3. [Tableaux] Extraire des mots d'une chaine de caractères
    Par pratiquement dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2008, 10h20
  4. Séparation des mots d'une chaine
    Par lvdnono dans le forum C++
    Réponses: 5
    Dernier message: 26/06/2007, 12h25
  5. Réponses: 4
    Dernier message: 11/05/2006, 15h41

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