Ne pas répéter le code.

Répondre
al3xc00l
le 28/03/2006 à 22:59
al3xc00l
Bonsoir,
Voila j'ai un script de nouvelle(news) dans lequel je fais appel à mes news selon divers paramètres :

par catégories,
par date,
etc..

cependant à chaque fois je dois réecrire mon code entierement et changer juste la requete ou rajouter 2-3 petites choses. Je voudrais faire plus court, j'ai donc esseyer de faire ceci :
http://www.lephpfacile.com/wall/wall.php?id=2656
Mais cela me renvoi une erreur, ou peut être ya t'il un methode beaucoup plus simple ?

Merci pour votre aide.
http://drifting01.free.fr - Je freine le versant schizo
mojorisin
le 28/03/2006 à 23:50
mojorisin
L'erreur est normal dans le code tu as appelle une méthode sur une classe non instanciée ($categorie2).

Sur la méthode tu peux tres bien construire ta requete dynamiquement, cela te permettra de n'avoir qu'une seule requete pour toutes tes solutions.
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
al3xc00l
le 29/03/2006 à 00:05
al3xc00l
Merci mojorisin ! je n'avais pas vu.. et j'ai pourtant cherché, et google etc.. alors que ca saute aux yeux !

par contre est-ce utile ce que j'ai fais ou peut on faire beaucoup plus simple ?
http://drifting01.free.fr - Je freine le versant schizo
mojorisin
le 29/03/2006 à 08:02
mojorisin
Plus simplement :
$query =  'SELECT * FROM dri_post WHERE 1';
$clauses = array();
if(isset($cat_id)){
array_push($clauses,"cat_id='".mysql_escape_string($cat_id).'");
}
// autres clauses possiblesen utilisant le même schéma
if(!empty($clauses)){
$query .= ' AND '.join(' AND ',$clauses);
}
if(isset($order)){
$query .= ' ORDER BY '.$order.' DESC';
} else {
$query .= ' ORDER BY post_dt DESC';
}
// envoi de la requete


De cette manière tu n'utilise qu'une requete pour différentes situations. Bien sur si les données viennent de l'utilisateur il te faudra vérifier que ce qui sera utilisé dans la requete soit valide.
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
al3xc00l
le 29/03/2006 à 14:36
al3xc00l
Merci beaucoup, c'est vrai que c'est nettement plus court.
http://drifting01.free.fr - Je freine le versant schizo
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours