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 :

Recherche des mots clés dans ma base MySQL


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut Recherche des mots clés dans ma base MySQL
    Bonjour, j'ai besoin d'un coup de main pour identifier des mots clés dans ma base Mysql avec PHP.

    Je dispose d'une table serveur, avec un champs mysql "evt_msg" contenant des logs, j'aimerai que tout les messages contenants par exemple une série de mot clé, par exemple "erreur I/O, open fabric, toto ..etc"

    - si c'est du open fabric = warning
    - si c'est un message contenant ssd I/O = critique

    voila un code que j'ai trouvé sur le net, et que j'ai adapté :

    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
    $query = "SELECT * FROM logs WHERE EVT_VALID = '0' ORDER BY id DESC"; 
     
    $result = mysql_query($query);
    $row = 0;
    $nombre = mysql_numrows($result);
    $i = 0; 
     
    while ($row<$nombre)
    {
        $i++;
        $evt_id=mysql_result($result,$row,"id");
        $evt_nom=mysql_result($result,$row,"SY_NOM");
        $evt_msg=mysql_result($result,$row,"EVT_MESSAGE");
     
    $mot_cle = 'Open Fabric';
    $mot_cle2 = 'ssd';
    $str = explode($mot_cle, $evt_msg);
    $str = explode($mot_cle2, $evt_msg);
    $nbr_occurence = count($str) - 1;
     
    if ($evt_msg == $mot_cle )  
    {
        echo "Alarme Mineur ";
    }
    elseif ($evt_msg == $mot_cle2)     
    {
        echo "Alarme Majeur ";
    }
     
    $row++;                     
    }
    mais celui ci ne marche pas correctement, alors si vous pouvez m'aiguiller

    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ou est la notion de base de donnée dans le code que tu nous montres ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    j'ai modifier le code ci-dessus, mais j'ai pas de problème sur la requette, mais sur la construction du code pour récupérer les mots clés que je souhaite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $mot_cle = 'Open Fabric'; // est le mot clé a rechercher dans le text $evt_msg
    $str = explode($mot_cle, $evt_msg);  // $evt_msg est le champs de ma base
     
    $nbr_occurence = count($str) - 1;
     
    if ($evt_msg == $mot_cle )  
    {
        echo "Alarme Mineur ";
    }
    elseif ($evt_msg == $mot_cle2)     
    {
        echo "Alarme Majeur ";
    }

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux trouver une chaine dans une autre, il faut utiliser strpos() et non pas explode().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $mot_cle = 'Open Fabric';
    if (strpos($evt_msg, $mot_cle) !== FALSE )    {
                 echo "Alarme Mineur ";
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    merci beaucoup c'est exactement ça le code a l'air tellement simple et pourtant!!!

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

Discussions similaires

  1. Réponses: 33
    Dernier message: 22/08/2011, 14h33
  2. [MySQL] problème d'insertion des caractères arabe dans une base mysql
    Par sasaas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/03/2008, 11h56
  3. PHP5: charger des fichiers textes dans une base MYSQL
    Par koueletbak dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/03/2006, 11h14
  4. recherche par mots-clés dans base access
    Par syber72 dans le forum Access
    Réponses: 2
    Dernier message: 07/03/2006, 13h53
  5. Comment stocker des mots clés dans une bas Mysql
    Par renofx1 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 05/01/2006, 00h57

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