technique de programmation

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 : technique de programmation

Re: technique de programmation

par Cobaye » 07 août 2009, 09:45

une chose je vois pas trop l'intérêt de ton sprintf pour ta requete !

Ensuite y a pas forcément de méthode meilleur qu'une autre ! le plus important est que le développeur s'y retrouver facilement ! choisie la méthode ou tu te sens le plus à l'aise.

technique de programmation

par sam01 » 07 août 2009, 09:40

Bonjour,

j'ai plusieurs requêtes sql à faire sur une même page PHP, et j'aimerais savoir quelles est la meilleure méthode :

Voici celle que j'utilise :

 
 
$sqla = sprintf("SELECT DISTINCT marque FROM produit WHERE marque <> '' ORDER BY marque ASC");
 
$reqa = mysql_query($sqla) or die('Erreur SQL !<br>'.$sqla.'<br>'.mysql_error());
				while($dataa = mysql_fetch_assoc($reqa))
				{
					if ($mark == $dataa['marque'])
					{
						echo '<OPTION value="'.$dataa['marque'].'" selected="selected">'.$dataa['marque'].'</option>';
					}
					if ($mark != $dataa['marque'])
					{
						echo '<OPTION value="'.$dataa['marque'].'">'.$dataa['marque'].'</option>';
					}
				}
 
 

pour la deuxième requête :

$sqlb = sprintf("SELECT DISTINCT id FROM table01 WHERE marque <> '' ORDER BY marque ASC");
 
$reqb = mysql_query($sqlb) or die('Erreur SQL !<br>'.$sqlb.'<br>'.mysql_error());
				while($datab = mysql_fetch_assoc($reqb))
				{
					if ($mark == $datab['marque'])
					{
						echo '<OPTION value="'.$datab['marque'].'" selected="selected">'.$dataa['marque'].'</option>';
					}
					if ($mark != $datab['marque'])
					{
						echo '<OPTION value="'.$datab['marque'].'">'.$datab['marque'].'</option>';
					}
				}
 
 

Comme vous le voyez j'incrémente à chaque fois de 1 : sqla, sqlb, sqlc etc...

Mais je me demande s'il n'est pas mieux d'utiliser tout le temps la même requête mais en remettant les variables à 0 en début de requête:

 
$sql = ''
$data = ''
 
$sql = sprintf("SELECT DISTINCT marque FROM lldiffusion_produit WHERE marque <> '' ORDER BY marque ASC");
 
				$req = mysql_query($sqla) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
				while($data = mysql_fetch_assoc($req))
				{
					if ($mark == $data['marque'])
					{
						echo '<OPTION value="'.$data['marque'].'" selected="selected">'.$data['marque'].'</option>';
					}
					if ($mark != $data['marque'])
					{
						echo '<OPTION value="'.$data['marque'].'">'.$data['marque'].'</option>';
					}
				}


Merci d'avance pour votre aide.