Modérateur PHPfrance |
10684 Messages
16 oct. 2007, 11:16
Attention aux priorités des opérateurs ... le AND est prioritaire sur le OR, comme la multiplication l'est sur l'addition. La requête :
$select = 'select *
FROM calmatch
where saison="2007/2008"
AND genre="Match amical"
AND visiteur = "HC Leman - Husky"
or locaux ="HC Leman - Husky"
ORDER BY parution ASC, temps DESC ';
Va te ramener les enregistrements pour lesquels
- la saison est "2007/2008" ET le genre "Match amical" ET le visiteur est "HC Leman - Husky"
OU
- les locaux sont "HC Leman - Husky"
Il te faut donc utiliser des parenthèse pour les regrouper. La requête suivante te ramenera les enregistrements concernant les matchs amicaux 2007/08 des "HC Leman - Husky" :
$select = " SELECT ...
FROM calmatch
WHERE saison='2007/2008'
AND genre = 'Match amical'
AND (visiteur = 'HC Leman - Husky' OR locaux = 'HC Leman - Husky')
ORDER BY parution ASC, temps DESC ";
Nota : préfère lister les champs dont tu as besoin plutôt que d'utiliser le SELECT * , et délimite les chaines sql par des apostrophes plutôt que des guillemets

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...