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.