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 :

Est-ce possible de creer des champs en temps réel lors d'une requête SQL ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 70
    Points : 49
    Points
    49
    Par défaut Est-ce possible de creer des champs en temps réel lors d'une requête SQL ?
    Bonjour à tous,

    J'aimerais savoir si c'est possible avec php et mysql, de créer lors d'une requête SELECT, des champs qui n'existe pas dans la base de donnée...

    Aussi est-ce possible au moment de la requête, d'utiliser une fonction qui, manipulerais les donnée au moment même de la requête

    Exemple:

    Je demande a sql de sortir toutes les entrée contenant le mot "chien", mais je veux qu'il soit capable de compter les occurences du mot chien dans le champ ou la requête se produit. Donc si la première entrée contient 2 fois le mot chien, je veux créer un champ en temps réel pour y stocker le nombre 2 qui sera par la suite utilisable dans un fetch avec l'aide de php. Ainsi de suite pour chaque entrée...

    Je sais qu'avec access ce genre de chose est possible, mais après maintes recherches sur le net, je n'ai rien trouvé de concluant pour php/mysql.

    Merci à vous tous.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    il n'existe hélas pas de SUSBTR_COUNT en mysql... il faut donc feinter un minimum ;o)

    mais c'est faisable !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT texte
    FROM table
    WHERE texte LIKE '%chien%'
    te renverra les occurences contenant chien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT texte, 
               (LENGTH(texte)-LENGTH(REPLACE(texte, 'chien', '')))/LENGTH('chien') as nbSouschaine
    FROM table
    WHERE texte LIKE '%chien%'
    te renverra les occurences contenant chien ET le nombre de fois ou "chien" apparait dans un alias nommé "nbSouschaine" accessible comme une colonne d'un tableau.

    Note : c'est pas moi qui ai trouvé la solution, elle vient de cette page : http://dev.mysql.com/doc/refman/4.1/...ons.html#c8024

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 70
    Points : 49
    Points
    49
    Par défaut
    woa...
    Merci de ce coup de pouce...
    Je me demande, si le string qui est passé est "méchant chien brun"
    Est-il possible, en une seule requête, de passer sur les trois mot, pour ainsi, à chaque occurence trouvé, augmenter de un le nombre dans mon champs .

    Donc si dans l'entrée en cour j'ai "mon chien est brun et mon chien est méchant"

    Ca me donne un resultat chien x 2, brun x 1, méchant x 1
    total 5 dans mon champs nbSousChaine ?

    Merci encore a toi !

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    oui, y a pas de raison qu'on ne puisse pas le faire, meme si ca complique un poil la requete ;o)

    si on appelle (par commodité)
    une fonction correspondant a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (LENGTH(texte)-LENGTH(REPLACE(texte, 'mot', '')))/LENGTH('mot')
    rien ne t'empeche de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    substr_count('chien')+substr_count('brun')+substr_count('méchant') as nb
    Ta requete fera juste 3km de long, mais c'est tout ;o)

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

Discussions similaires

  1. [Joomla!] [JomSocial] Est-il possible d'avoir des champs relatifs (dépendants) ?
    Par sachaimage dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/07/2012, 23h29
  2. est-il possible de creer des onglets en php?
    Par eddycool dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2009, 22h01
  3. Question : Est-il possible d'avoir des champs de tableaux
    Par Glherbier dans le forum VBA Access
    Réponses: 5
    Dernier message: 07/08/2008, 16h40
  4. Réponses: 1
    Dernier message: 12/10/2006, 01h34
  5. [Outil] est il possible de creer des aplications avec php
    Par reski dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/03/2006, 18h25

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