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 :

[SQL] Utilisations de like ? [Fait]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut [SQL] Utilisations de like ?
    Bonjour,

    Comment resoudre ces requêtes ?

    QUESTION 1 :
    --------------

    $requete = 'select count(*) from tbl_news where rub_news ="'.$_POST['rub'].'"';

    Je veux intégrer dans cette requete un like de la manière suivante :

    like %$month-$year%

    Comment faire cela ?

    QUESTION 2 :
    --------------

    Comment faut-il utiliser les guillements ou simples quotes avec like ?

    Ceci est-il correct ?

    $requete = "select count(*) from tbl_news where date_news LIKE '%$month-$year%'";


    QUESTION 3 :
    --------------

    $requete = 'select count(*) from tbl_news where rub_news ="'.$_POST['rub'].'" order by date_news asc limit '.$_GET['Ddebut'].','.$nb;

    Comment intéger le like suivant :

    like %$month-$year%

    Merci d'avance.
    ++

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "select count(*) from tbl_news where rub_news ='" . $_POST['rub'] . "' AND nom_champ LIKE '%" . $month . "-" . $year . "%'";
    Si ça se trouve pas sur Google ces choses là... Ou alors il y a une subtilité que j'ai pas capté.

  3. #3
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par JWhite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "select count(*) from tbl_news where rub_news ='" . $_POST['rub'] . "' AND nom_champ LIKE '%" . $month . "-" . $year . "%'";
    Si ça se trouve pas sur Google ces choses là... Ou alors il y a une subtilité que j'ai pas capté.
    Bonjour,

    Merci encore

    Je vais essayer.
    ++

  4. #4
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par JWhite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "select count(*) from tbl_news where rub_news ='" . $_POST['rub'] . "' AND nom_champ LIKE '%" . $month . "-" . $year . "%'";
    Si ça se trouve pas sur Google ces choses là... Ou alors il y a une subtilité que j'ai pas capté.

    re,

    J'essaye d'afficher les news du mois de janvier 2007.

    Il m'afficher les dates suivantes :

    01-01-2007 ( ok )

    02-01-2006 ( pourquoi ? )

    Comment résoudre cela ?

    Merci d'avance.
    ++

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Il faudrait voir comment est constitué la date stockée en BDD

  6. #6
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par Kerod
    Il faudrait voir comment est constitué la date stockée en BDD
    Bonjour,

    Comment faut-il la stocker ?

    Pourriez-vous m'aider et montrer comment faire svp ?

    Merci
    ++

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Tu as deux possibilités :
    1. format date
    2. format int (timestamp)
    Le timestamp est un entier (long) qui est récupéré par la fonction

  8. #8
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par Kerod
    Tu as deux possibilités :
    1. format date
    2. format int (timestamp)
    Le timestamp est un entier (long) qui est récupéré par la fonction
    re,

    donc j'utilise getdate()

    c bon ?

    Mon query fonctionnera ?

    Merci
    ++

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ca nous dis uniquement comment tu récupères la date pas comment elle est insérée en BDD. DOnc pour ce qui est de la validité de ta requete, c'est impossible de le dier avec le peu d'information donnée

  10. #10
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par Kerod
    Ca nous dis uniquement comment tu récupères la date pas comment elle est insérée en BDD. DOnc pour ce qui est de la validité de ta requete, c'est impossible de le dier avec le peu d'information donnée
    re,

    J'ai utilisé la requete suivante :

    $requete = "select count(*) from tbl_news where rub_news ='" . $_POST['rub'] . "' AND nom_champ LIKE '%" . $month . "-" . $year . "%'";

    Ca marche avec cette requete en utilisant date comme type et getdate() pour insérer la date ?

    Merci
    ++

  11. #11
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Le monsieur demande comment est stockée la date dans la base et pas comment tu la récupères Faut le dire dans une langue particulière ?


    Et puis au passage si tu as recopié mot pour mot l'exemple de requête que je t'avais donné ça va avoir du mal à marcher à moins que le champ à tester s'appelle aussi nom_champ...

  12. #12
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par JWhite
    Le monsieur demande comment est stockée la date dans la base et pas comment tu la récupères Faut le dire dans une langue particulière ?


    Et puis au passage si tu as recopié mot pour mot l'exemple de requête que je t'avais donné ça va avoir du mal à marcher à moins que le champ à tester s'appelle aussi nom_champ...
    Hello,

    J'ai utilisé le type date dans la db.

    J'ai bien sûr adapter le nom du champ ;-))

    Comment faire cela ?

    C'est casse tête ce like !!!!

    Comment faire pour récupérer dans une date du style : 2006-01-28

    l'année et le mois et les rechercher via le like.

    Merci encore
    ++

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Dans ce cas si c'est un format date pourquoi ne pas utilisé les fonctions SQL : Comment extraire des enregistrements appartenant à un intervalle de dates ?

  14. #14
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Avec ce que tu donnes ça semble logique, tu veux avoir des dates comme 2006-01-28 mais tu fais un LIKE sur un format mois-annee donc tu récupères toutes les dates de la forme quelque chose suivi de 01-2006 suivi de quelque chose par exemple...

    Enfin bref ton champ étant de type date cf Kerod pour la méthode la mieux adaptée...

  15. #15
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par JWhite
    Avec ce que tu donnes ça semble logique, tu veux avoir des dates comme 2006-01-28 mais tu fais un LIKE sur un format mois-annee donc tu récupères toutes les dates de la forme quelque chose suivi de 01-2006 suivi de quelque chose par exemple...

    Enfin bref ton champ étant de type date cf Kerod pour la méthode la mieux adaptée...
    re,

    J'ai rien compris...

    Tu peux pas me donner un ptit exemple ?

    Merci
    ++

  16. #16
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    L'exemple est dans mon lien, voilà le détail.

  17. #17
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par Kerod
    L'exemple est dans mon lien, voilà le détail.
    re,

    Je ne veux pas un intervalle.

    Je veux afficher toute les news pour un mous voulu !

    exemple : afficher toutes les news de janvier 2007

    J'ai 2006-12-01
    2007-01-01
    2007-01-02

    Donc ici j'en aurais deux.

    Comment faire cela ?

    Merci encore de ton aide
    ++

  18. #18
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Toutes les dates dans un mois c'est pas un intervalle ?

    Définition d'un mois : un mois est composé d'un ensemble de dates pouvant aller de 1 à 28,29,30,31

    Et si tu avais regardé le lien tu aurais remarqué : MONTH

  19. #19
    Membre éclairé Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Par défaut
    Citation Envoyé par Kerod
    Toutes les dates dans un mois c'est pas un intervalle ?

    Définition d'un mois : un mois est composé d'un ensemble de dates pouvant aller de 1 à 28,29,30,31

    Et si tu avais regardé le lien tu aurais remarqué : MONTH
    re,

    oki, mais comment je vais formuler cela ?

    Imaginons que nous sommes le 10/01/2007

    Je veux afficher directement toutes news de janvier ...

    Comment faire ?

    Car en fait je veux afficher les news uniquement par rapport au mois en cours.

    Dès lors comment faire automatiquement cela ?

    2007-01-01 à 2007-01-10 par exemple ?

    Merci encore.
    ++

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

Discussions similaires

  1. [SQL] Problème de requête sql utilisant LIKE
    Par yakup.67 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2007, 13h31
  2. requete sql utilisant LIKE %
    Par hottnikks_79 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 18/08/2006, 18h23
  3. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08
  4. [PL/SQL] Utilisation table PL/SQL dans clause IN
    Par Yorglaa dans le forum PL/SQL
    Réponses: 13
    Dernier message: 05/10/2004, 10h36
  5. utilisation de "LIKE" avec un type datetime dans r
    Par ericmart dans le forum Langage SQL
    Réponses: 8
    Dernier message: 06/11/2003, 14h58

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