Bonjour,
Je dois classer des articles par ordre alphabétique. Grâce à nos chers modérateurs jreaux62 et sabotage, ma première requête préparée fonctionne. Mais je dois la répéter 26 fois, pour chacune des lettres de l'alphabet.
Et le script suivant (qui fonctionne) me parait bien lourd. En fait, après la requête initiale, que je ne réécris donc pas, je réécris tout le reste à l'identique en changeant seulement la valeur de la variable (ex : $lettre=b, puis c, etc...). Ca fait donc 26 boucles while, etc... Ne peut-on faire plus simple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 //=================== 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
Partager