Optimisation d'une petite portion de code

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Optimisation d'une petite portion de code

par jojolapine » 14 sept. 2008, 12:25

Hum... c'est vrai que j'aurais pu "bencher" tout seul... :oops:
Et merci pour la deuxième réponse...!!

par Sékiltoyai » 14 sept. 2008, 01:19

Deux réponses :
- Benche
- La deuxième assurément…

Optimisation d'une petite portion de code

par jojolapine » 14 sept. 2008, 00:34

Bonsoir à tous (on bonjour peut-être?)
J'ai une petite question qui me taraude...
J'ai un bout de script, qui me récupère des dates dans une table, et j'aimerais les triées par avant aujorud'hui, et après...
Sachant que j'ai un traitement de format sur la dite date, avant de l'envoyer à la vue...
Donc en gros, est-ce qu'il vaut mieux ça:
$sql=	"SELECT 
			id_evenement, 
			description, 
			ville, 
			codepostal, 
			date_evenement,
			fin_evenement
		FROM 
			agenda 
		WHERE
			date_evenement>NOW();";
$resultats=$connexion->query($sql);
while($date= $resultats->fetch(PDO::FETCH_ASSOC)){
	if($date['fin_evenement']!=='0000-00-00 00:00:00'){
		$date_format=strftime("Du %e %B %Y",strtotime($date['date_evenement']));
		$date_format.=strftime(" au %e %B %Y",strtotime($date['fin_evenement']));
	} else {
		$date_format=strftime("Le %e %B %Y",strtotime($date['date_evenement']));
	}
	$dates[]=array('date'=>$date_format,'descri'=>$date['description'],'ville'=>$date['ville'],'cp'=>$date['codepostal']);
}

$sql=	"SELECT 
			id_evenement, 
			description, 
			ville, 
			codepostal, 
			date_evenement,
			fin_evenement
		FROM 
			agenda 
		WHERE
			date_evenement<NOW();";
$resultats=$connexion->query($sql);
while($date= $resultats->fetch(PDO::FETCH_ASSOC)){
	if($date['fin_evenement']!=='0000-00-00 00:00:00'){
		$date_format=strftime("Du %e %B %Y",strtotime($date['date_evenement']));
		$date_format.=strftime(" au %e %B %Y",strtotime($date['fin_evenement']));
	} else {
		$date_format=strftime("Le %e %B %Y",strtotime($date['date_evenement']));
	}
	$dates_old[]=array('date'=>$date_format,'descri'=>$date['description'],'ville'=>$date['ville'],'cp'=>$date['codepostal']);
}
qui est assez long, je pense, qui appel deux fois le serveur mysql... etc ou quelque chose comme ça:
$sql=	"SELECT 
			id_evenement, 
			description, 
			ville, 
			codepostal, 
			date_evenement,
			fin_evenement
		FROM 
			agenda";
$resultats=$connexion->query($sql);
while($date= $resultats->fetch(PDO::FETCH_ASSOC)){
	if($date['fin_evenement']!=='0000-00-00 00:00:00'){
		$date_format=strftime("Du %e %B %Y",strtotime($date['date_evenement']));
		$date_format.=strftime(" au %e %B %Y",strtotime($date['fin_evenement']));
	} else {
		$date_format=strftime("Le %e %B %Y",strtotime($date['date_evenement']));
	}
       if(strtotime($date['date_evenement'])>time()){
               $date_future[]=$dates[]=array('date'=>$date_format,'descri'=>$date['description'],'ville'=>$date['ville'],'cp'=>$date['codepostal']);
        } else { 
      $date_passee[]=$dates[]=array('date'=>$date_format,'descri'=>$date['description'],'ville'=>$date['ville'],'cp'=>$date['codepostal']);
        }
}
Donc voilà, à votre avis...
Je gère en php ou en SQL?
Merci d'avance