Php

tapi -  
 tapi -
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. le père
     
    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
    0
  2. maka54 Messages postés 721 Statut Membre 80
     
    tout d'abord, il manque ta jointure entre tes 2 tables, tu devrais avoir les résultats en double, non ???
    0
  3. tapi
     
    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 !
    0