|
oim 1453
| Posté : 05-07-2008 19:25
Slt, j'ai lu partout qu'il est impossible de mettre un if dans une requete, pourtant j'ai une requete ou ca fonctionne ; c'est quoi le problème ?
<?php
/*Requete liste evenement suivant $sujet*/
$result = sql_query("SELECT
  ; us.id, us.date, us.liaison,
  ; ut.titre, ut.groupvoir
FROM& nbsp;
  ; ".$NPDS_Prefix."agend us,
  ; ".$NPDS_Prefix."agend_dem ut,
  ; ".$NPDS_Prefix."agendsujet uv
WHERE
  ; uv.topicid = '$sujet'
  ; AND us.liaison = ut.id
  ; AND ut.valid = '1'
  ; AND ut.topicid = uv.topicid
  ; AND ut.groupvoir = 'if(autorisation($gro))'&n bsp;
GROUP BY us.liaison
ORDER BY us.date ASC
LIMIT $start,$nb_news");
while(list($id, $date,&n bsp;$liaison, $titre, $groupvoir) = sql_fetch_row($result))
{
?>
|  Profil www
|
|
Hotfirenet 1738
| Posté : 05-07-2008 20:05
deja il faut savoir que le if dans requete de type sql
la preuve lorsque tu creer une table tu peut specifier
IF TABLE EXIST
mais la ce que tu fait c'est que tu met un if qui est interpreter par php et que surement la fonction autorisation revoi forcement un resultat apres je ne sais pas si ton champs groupvoir est un int ou un booleen mais je pense que que la fonction autorisation revoi true ou false don 0 ou 1 !! donc dans ce cas ci je pense que c'est normal que ca fonctionne mais je pense que dans certain ta cas ta requete ne renverra pas le resultat que tu souhaites !! |  Profil E-mail www
|
|
oim 1453
| Posté : 05-07-2008 20:14
Effectivement autorisation renvoi true ou false, c'est la fontion de NPDS qui permet de gerer les groupes et groupvoir est un INT. |  Profil www
|
|
Hotfirenet 1738
| Posté : 05-07-2008 20:29
donc si tu cherche a obtenir -127 ou autre ca ne fonctionnera pas ;/ |  Profil E-mail www
|
|
oim 1453
| |
Hotfirenet 1738
| Posté : 05-07-2008 21:42
127 ete un exemple mais ce n'est pas comme ca que tu retrouvera l'id du groupe, forcement que la valeur sera 0 ou 1 car la fonction renvoi uniquement true ou false |  Profil E-mail www
|
|