Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/01/2007, 11h14   #1
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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.
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 12h13   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Code :
$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é.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 12h49   #3
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
Citation:
Envoyé par JWhite
Code :
$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.
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 15h27   #4
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
Citation:
Envoyé par JWhite
Code :
$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.
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 15h43   #5
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Il faudrait voir comment est constitué la date stockée en BDD
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 17h04   #6
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 18h31   #7
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
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
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 18h37   #8
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 18h39   #9
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
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
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 18h44   #10
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 19h22   #11
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 20h09   #12
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 20h50   #13
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
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 ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 22h27   #14
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 22h48   #15
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 22h59   #16
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
L'exemple est dans mon lien, voilà le détail.
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 23h04   #17
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 23h06   #18
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
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
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 23h16   #19
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
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.
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web