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 :

comment recuperer une chaine dans une chaine de caractère


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut comment recuperer une chaine dans une chaine de caractère
    bjr
    svp est ce que vous pourriez m'aider?
    j'ai un pb en php,msql
    j'ai une table à 2 champs à savoir Id et COL (c un fichier CSV)
    l'id est autoincrement et COL comporte des chaines de carractère telque:

    Aug 6 08:51:36 dns1 sshd[21160]: Accepted password for root from 195.24.205.59 port 58502 ssh2

    Aug 6 08:51:36 dns1 sshd[21160]: subsystem request for sftp

    Aug 6 08:51:36 dns1 sshd[21162]: pam_unix(sshd:session): session opened for user root by (uid=0)

    Aug 6 08:52:13 dns1 sshd[21160]: Received disconnect from 195.24.205.59: 11: Disconnect requested by Windows SSH Client.

    mon pb est kil faut tout d'abord recuperer les lignes comportant les mots ACCEPTED PASWORD et RECEIVED DISCONNECT
    ensuite recuperer ds ces lignes certaines chaines tel ke l'heure de connexion,de deconnexion,le login et l'adresse IP et les afficher sous formes de tableau

    j'ai essayé les procedures stockées,les expressions regulière mais jy arrive pa; je ne peux pas utiliser un jointure paske je n'est kune seule table

    merci pour votre aide
    à plussss

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    T'as essayé LIKE ?

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut
    merci pour ton aide, j'avais pas du tout pensé à ça.
    jarrive donc à récupérer les lignes contenant ces chaines.
    maintenant il faut que je recupere certaine chaînes dans ces lignes et les afficher sous forme de tableau à savoir:
    date heure_connexion heure_deconnexion login IP

    est-ce que c'est possible aussi ?

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    oui, avec preg_match.

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Si toutes les lignes ont la même structure :
    - date heure_connexion est ce qui commence la chaîne jusqu'à 'dns' ;
    - heure_deconnexion idem pour l'autre chaîne ;
    - login est ce qui se trouve après 'Accepted password for ' ;
    - IP est ce qui se trouve après 'from '.

    En jouant avec les fonctions de chaînes de caractères, tu peux même le faire directement en SQL.

    En traitement de données en masse, ce sera plus performant qu'en PHP.

    Je te donne les deux premiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT LEFT(COL, POSITION ('dns' IN COL) - 1) AS date_time
    FROM la_table
    WHERE COL LIKE '%ACCEPTED PASWORD%'
    	OR COL LIKE '%RECEIVED DISCONNECT%'
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Je viens mettre les pieds dans le plat mais serait il pas plus simple et logique d'avoir par exemple une table password_acceped avec dedans un champ date, un champ id, un champ ip etc? au lieu de tout mettre sous forme de string dans un seul champ??

  7. #7
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    De ce que je comprends, c'est une table de logs alimentée soit par un processus direct qui ne peut générer qu'une chaîne de caractères soir par un LOAD DATA INFILE.

    Il pourrait par contre être utile de se servir du principe que j'ai énoncé dans mon précédent message pour alimenter une BDD structurée. Tout dépend du besoin.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/06/2015, 17h52
  2. Réponses: 1
    Dernier message: 04/04/2008, 12h14
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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