Re Probléme de requêtes !!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Re Probléme de requêtes !!

par angebleu17 » 30 juil. 2007, 09:24

en faisant ceci ça marche :
<?
$date_now = date("Y-m-d");

$req = mysql_query("SELECT * FROM matable WHERE '$date_now' BETWEEN date_debut AND date_fin AND date_fin = '$date' ORDER BY date_fin") or die (mysql_error()); 

?>

par Yosh » 27 juil. 2007, 16:38

ok après qq test je ne vois pas comment tu peux essayer de comparer now() sur d'autres champs sachant que now() sera interprété dans la requête comme "20070727 16:36:40".

Si jamais tu trouve une solution, je veux bien la connaitre.

par angebleu17 » 27 juil. 2007, 16:19

ok :wink:

par Yosh » 27 juil. 2007, 16:18

Je fais qq test et je post.

par angebleu17 » 27 juil. 2007, 16:17

oui mais je veux récupérer les enregistrements ou la date d'aujourd'hui est entredate debut et date fin et que date fin soit égal à date.

En mettant ce que tu as dit ça ne marche pas non +..

par Yosh » 27 juil. 2007, 16:06

Dans ta requête "WHERE Now() BETWEEN date_debut AND date_fin" ne veux rien dire.

Par contre tu peux essayer avec date_debut>=Now() AND date_fin = '$date'

par angebleu17 » 27 juil. 2007, 16:00

de type date

par Yosh » 27 juil. 2007, 15:52

Tu utilise des données de quelle type? date ou datetime?

par angebleu17 » 27 juil. 2007, 15:26

désolée je ne savais pas.. j'y avais pensé en +.. :?

Sinon j'ai un autre petit probléme (enfin cette fois-ci un vrai :wink: )

Je veaux récupérer les enregistrement où la date d'aujourd'hui est entre la date de debut et la date de fin, voici ma requete :

Code : Tout sélectionner

$req = mysql_query("SELECT * FROM matable WHERE Now() BETWEEN date_debut AND date_fin AND date_fin = '$date' ORDER BY date_fin") or die (mysql_error());
Le probléme c'est lorsque date est égal à la date d'aujourd'hui, il ne me retourne pas les enregistrements. Pourtant j'ai vu que le between prend supérieur égal à date début et inférieur égal a date fin !!

J'ai une autre requête pareil mais je compare la date de début, quand la date d'aujourd'hui est égal à la date de début ça l'affiche bien mais si la date de fin est égal à la date d'aujourd'hui ça ne l'affiche pas. Donc le between ne fait pas inférieur ou égal a la date fin mais strictement inférieur !!

Et meme en mettant : now() >= $date_debut AND now() <= $date_fin ça ne marche pas non plus !


Comment faire pour prendre en compte les enregistrements ou date fin est égal a aujourd'hui ?

par Hubert Roksor » 27 juil. 2007, 14:30

On peut mettre un OR dans une requête ??
:(

http://dev.mysql.com/doc/

par Jules Petibidon » 27 juil. 2007, 13:22

bah essaye, ca explosera pas :)

par angebleu17 » 27 juil. 2007, 13:14

On peut mettre un OR dans une requête ??

par Jules Petibidon » 27 juil. 2007, 13:09

hello,

"nom" peut pas être à la fois "paris" et "tour eiffel", il peut par contre être l'un OU l'autre ;)

Re Probléme de requêtes !!

par angebleu17 » 27 juil. 2007, 12:18

Bonjour,

J'aimerais faire une requête qui recherche des enregistrements suivant un lieu (choisi par l'utilisateur). Mais j'aimerais aussi rechercher les enregistrements suivant la ville ou se situe le lieu. Je récupére la ville correspond au lieu mais pour la requête je ne sais pas comment faire :

Si je fait ça, ça ne marche pas vu que c'est AND :

Code : Tout sélectionner

SELECT DISTINCT(id), nom FROM matable WHERE nom = '$lieu' AND nom = '$ville'");
Il faudrait faire 2 requêtes je pense mais je ne vois pas trop comment...Dans le champ nom de matable, il y a les lieux et les villes pour chaque id.
Par ex id = 1 nom = paris
id = 2 nom = tour effeil
id = 3 nom = Marseille
..etc

Donc si je recherche comme lieu la tour effeil, j'aimerais afficher tous les id ou nom = tour effeil et nom = Paris.