$query + fonctions

nanou22
Invité n'ayant pas de compte PHPfrance

04 sept. 2010, 20:20

Bonjoru j'ai un probleme je voudrais faire afficher une lsite d'evenement en ne prenant en compte que celle qui sont pour les moins de 18

A la base j'ai le code suivant de cette fonction

Code : Tout sélectionner

function getlistgroupe($id,$limitstart, $limit) { $db = & JFactory :: getDBO(); $result = array(); $query1 = "SELECT COUNT(id) FROM #__f_evenement where id_group = ".$id." "; $db->setQuery($query1); $total = $db->loadResult(); $query = "SELECT * FROM #__f_evenement where id_group = ".$id." "; $query .= ' order by id_soustype '; $db->setQuery($query,$limitstart, $limit); $this->_application = $db->loadObjectList(); $result[0] = $this->_application; $result[1] = $total; return $result; }
Cette fonction me permet d'afficher les evenement appartenant à un groupe bien precis ca c'est ok mais je voudrais rajouter à cette fonction qu'elle n'affiche que les evenement pour les moins de 18 du groupe selectionner.
Donc j'ai rajouter une ligne à ma fonctions

Code : Tout sélectionner

function getlistgroupe($id,$limitstart, $limit) { $db = & JFactory :: getDBO(); $result = array(); $query1 = "SELECT COUNT(id) FROM #__f_evenement where id_group = ".$id." "; $db->setQuery($query1); $total = $db->loadResult(); $query = "SELECT * FROM #__f_evenement where id_group = ".$id." "; $query = "SELECT * FROM #__f_evenement where age_max <=18 "; $query .= ' order by id_soustype '; $db->setQuery($query,$limitstart, $limit); $this->_application = $db->loadObjectList(); $result[0] = $this->_application; $result[1] = $total; return $result; }
Et dans ce cas il m'affiche bien les evenements pour les moins de 18 ans mais il ne prend plus en compte que je veux les evenement du groupe selectionner.
Je ne sais pas comment associe les deux, j'ai bien essayé

$query = "SELECT * FROM #__f_evenement where id_group = ".$id." AND age_max <=18";

Mais ce ne fonctionne pas non plus

Si quelqu'un peut m'aider

Eléphant du PHP | 74 Messages

05 sept. 2010, 16:53

         $query = "SELECT * FROM #__f_evenement where id_group = ".$id." ";
        $query = "SELECT * FROM #__f_evenement where age_max <=18 ";
En faisant ceci tu remplace la première ligne par la seconde. En PHP, la concaténation s'effectue avec un point. Ceci dit pas besoin de faire deux fois un SELECT.

Voilà comment procéder.
         $query = "SELECT * FROM #__f_evenement where id_group = ".$id." AND age_max <18 ";
Juste comme ca en passant mais si c'est une liste pour les moins de 18 c'est donc "<18" et non "<=18" avec le signe "=" les gens de 18 ans sont également affecter.