WRInaute occasionnel
Bonjour,
C'est donc la première fois que je bosse avec les requêtes préparées, et j'ai ouïe dire qu'elles ont l'avantage de pouvoir être réutilisées. Ce qui doit donc simplifier les scripts. Pourtant, le modeste script suivant me parait encore bien lourd.
Il s'agit tout simplement d'afficher les articles d'une base de données, en les classant par ordre alphabétique. D'abord ceux qui commencent par A, puis ceux qui commencent par B, etc...
Effectivement, je n'ai pas besoin de réécrire à chaque fois la même requête, c'est déjà ça de gagner. Mais suis-je pour autant obligé de me farcir 26 boucle while ? Comme vous pouvez le constater, la deuxième partie du script (lettre B) est en fait identique à la première (lettre A), à ceci prêt que je ne réécris pas la requête et change seulement la valeur de la variable $lettre.
Qu'en pensez-vous ? Si vous voyez des redondances là dedans, merci de me l'expliquer.
C'est donc la première fois que je bosse avec les requêtes préparées, et j'ai ouïe dire qu'elles ont l'avantage de pouvoir être réutilisées. Ce qui doit donc simplifier les scripts. Pourtant, le modeste script suivant me parait encore bien lourd.
Il s'agit tout simplement d'afficher les articles d'une base de données, en les classant par ordre alphabétique. D'abord ceux qui commencent par A, puis ceux qui commencent par B, etc...
Effectivement, je n'ai pas besoin de réécrire à chaque fois la même requête, c'est déjà ça de gagner. Mais suis-je pour autant obligé de me farcir 26 boucle while ? Comme vous pouvez le constater, la deuxième partie du script (lettre B) est en fait identique à la première (lettre A), à ceci prêt que je ne réécris pas la requête et change seulement la valeur de la variable $lettre.
Code:
//=================== LA LETTRE A ================
$lettre=a;
/** on définit la requete sql */
$sql = "SELECT *
FROM cms_custom_database_2
WHERE field_12
LIKE :lettre
ORDER BY field_9
";
$stmt = $dbh->prepare ($sql); /* On prépare la requête */
/** On prépare les paramètres */
$params = array(':lettre' => $lettre);
/** On execute la requete */
$stmt->execute($params);
while($lettre=$params = $stmt->fetch(PDO::FETCH_OBJ))
{
echo '<b>
<a href="http://www.dictionnaire.com/definition.php/'.$lettre->record_dynamic_furl.'-r'.$lettre->primary_id_field.'">'.$lettre->field_9.'</a>
<br></b>';
}//ferme while
//=================== LA LETTRE B ================
$lettre=b;
$stmt = $dbh->prepare ($sql); /* On prépare la requête */
/** On prépare les paramètres */
$params = array(':lettre' => $lettre);
/** On execute la requete */
$stmt->execute($params);
while($lettre=$params = $stmt->fetch(PDO::FETCH_OBJ))
{
echo '<b>
<a href="http://www.dictionnaire.com/definition.php/'.$lettre->record_dynamic_furl.'-r'.$lettre->primary_id_field.'">'.$lettre->field_9.'</a>
<br></b>';
}//ferme while
Qu'en pensez-vous ? Si vous voyez des redondances là dedans, merci de me l'expliquer.