Php

Bonjour,

Je cherche à récupérer dans une base les enregistrements égaux à une variable et ayant un top à "2" et une date de mise à jour différente de la date du jour et sinon les enregistrements ayant un top à "1".
$result1 = mysql_query("select * from feuil1 AS f, structure AS s WHERE s.dga = '$indicatif' and (f.topj='2' and f.jour<>'$jour' or f.topj='1') order by f.agence") or die ('erreur');

Ce bout de code me retourne aussi bien les enregistrements topés "1" et "2".
Auriez-vous une idée ?
Merci

3 réponses

  1. Bonjour

    Oui, c'est probablement dû au fait que ta variable $jour n'a pas le bon format, et donc que f.jour<>'$jour' est toujours vrai
    Fais un echo $jour et affiche aussi f.jour pour voir
    1. tout d'abord, il manque ta jointure entre tes 2 tables, tu devrais avoir les résultats en double, non ???
      1. Merci pour ces réponses,
        Franchement, je n'ai pas de doublon, hormis les enregistrements qui ont le top à "2" avec la date de mise à jour différente de celle du jour et le top à "1".

        Voilà un extrait de la base de données :

        indicatif jour top
        AAAA lundi 0
        AAAA vendredi 2
        AAAA mardi 0
        AAAA jeudi 1
        BBBB mercredi 2
        BBBB lundi 1

        donc, il faut que j'obtienne :
        AAAA jeudi 1
        BBBB mercredi 2

        A vot' bon coeur !