salut,
il faut tester ce que tu trouves ave un client SQL (phpmyadmin, heidisql, mysqlworkbench etc).
donc
SELECT droits, login FROM membres, fiche WHERE (BETWEEN droits AND fiche) AND login = "'.mysql_escape_string($_SESSION['login_ariane']).'"
ceci n'est pas syntaxiquement correct ton oublie
la première semble plus correcte après il faut voir quoi comparer.
a priori les fiches ont des droits et il ne faut récupérer que celles qui correspondent aux droits de l'utilisateur courant ?
première chose : les droits de l'utilisateur courant doivent être récupérés à la connexion et mis en session (pas la peine de faire la recherche à chaque fois).
La requête se fera donc uniquement sur fiche.
ensuite il y a plusieurs possibilités :
- une fichie a un seul droit
- une fiche a une ou plusieurs droits
dans premier cas tu utilise la clause sql in
select les,colonnes from fiche where droit in ('1','2','3' ....)
dans le second cas il faut voir comment tu stock les x droit pour une fiche.
ce que tu fais pour les droits utilisateur est une erreur de conception.
tu devrais avoir une table droits (qui contient les droits

)
et une table qui fait la jointure entre droits et utilisateu. En clair deux colonnes qui forme la PK (cle primaire) qui sont toutes les deux des clefs étrangères (FK) vers droits et membres
create table droitsMembre (
id_droit int not null,
id_membre int not null
);
alter table droitsMembre add constraint PK_droitsMembre primary key (id_droit,id_membre);
alter table droitsMembre add constraint FK _droit_droitsMembre foreign key (id_droit) references droits(id_droit);
alter table droitsMembre add constraint FK _membre_droitsMembre foreign key (id_membre) references membre(id_membre );
un couple id_droit, id_membre accorde le droit "id_droit" au membre "id_membre"
si tu ne trouve pas couple c'est que le droit n'est pas accordé au membre.
Du coup tu as un tableau de droit en session que tu utilise pour les requêtes SQL ou l'affichage.
@+