New function : filterStudents
This commit is contained in:
		| @@ -20,6 +20,7 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/). | ||||
| | **calculateAge(birthDate)** | Calcule l'âge de quelqu'un selon la date de naissance. | - birthDate : date de naissance au format (dd/mm/yyyy). | | ||||
| | **convertTemperature(degree,unit)** | Convertit des Degré Celsius en Degré Fahrenheit et l'inverse aussi. | - degre : Le nombre que vous voulez convertir - unite : l'unité du nombre que vous voulez convertir (°C ou °F)	| | ||||
| | **convertDistance (firstValue, unitFirstValue, unitFinalValue)** | Convertit la longueur (distance) avec les unités allant de picomètre au Téramètre. | - firstValue : Le nombre que vous voulez convertir - unitFirstValue : l'unité du nombre que vous voulez convertir - unitFinalValue : l'unité de votre nombre après la conversion	| | ||||
| | **filterStudents(filteredLetter, students)** | Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée. | - filteredLetter : la lettre à filtré - students : la liste des prénoms  | | ||||
|  | ||||
| ## La liste des Fonctions Annexes :    | ||||
| | Nom | Description | Paramètre(s) | | ||||
| @@ -31,5 +32,4 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/). | ||||
| | **dateTimeUTC(utc)** | Donne la date et l'heure selon l'UTC (Universal Time Coordinated). | - utc : heure de décalage avec l'utc | | ||||
| | **showDateTime(enteredOffset)** | Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00). | - enteredOffset : date à formaté | | ||||
| | **realDateTime(id)** | Affiche l'heure en temps réel. | - id : l'id de votre span/div où vous voulez afficher l'heure en temps réel | | ||||
| | **timeZone(json)** | Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org. | - json : le json de l'API | | ||||
|  | ||||
| | **timeZone(json)** | Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org. | - json : le json de l'API | | ||||
							
								
								
									
										
											BIN
										
									
								
								img/function-image/filterStudents.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								img/function-image/filterStudents.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 160 KiB | 
| @@ -43,6 +43,11 @@ switch ($currentpage) { | ||||
|         $description = "Affiche la météo et l'heure local selon la ville."; | ||||
|         $image = 'https://function.divlo.fr/img/function-image/weatherRequest.png'; | ||||
|         break; | ||||
|     case '/views/function-views/filterStudents.php': | ||||
|         $title = 'Trie les prénoms par leur première lettre'; | ||||
|         $description = "Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée."; | ||||
|         $image = 'https://function.divlo.fr/img/function-image/filterStudents.png'; | ||||
|         break; | ||||
|     default: | ||||
|         $title = 'Erreur 404'; | ||||
|         $description = "Cette page n'existe pas!"; | ||||
|   | ||||
| @@ -146,6 +146,36 @@ function convertDistance (firstValue, unitFirstValue, unitFinalValue) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée | ||||
| function filterStudents(filteredLetter, students) | ||||
| { | ||||
|     let filteredStudents = []; | ||||
|     for(let i = 0; i < students.length; i++) | ||||
|     { | ||||
|         let studentBoucle = students[i]; | ||||
|         if (studentBoucle[0] === filteredLetter) { | ||||
|             filteredStudents.push(studentBoucle); | ||||
|         } | ||||
|     } | ||||
|     if (filteredStudents.length === 1) | ||||
|     { | ||||
|         return ("Prénom qui commence par " + filteredLetter + " : " + filteredStudents + '.'); | ||||
|     } | ||||
|     else if (filteredStudents.length >= 2) | ||||
|     { | ||||
|         // Affiche la liste des prénoms... | ||||
|         let last = filteredStudents[filteredStudents.length - 1]; // Accéde au dernier élément du tableau | ||||
|         let totalfilteredLetterStudents = filteredStudents.length; | ||||
|         filteredStudents.pop(); // Supprime le dernier élément du tableau | ||||
|         // filteredStudents.join(', ') permet de rajouter un espace entre chaque élément du tableau | ||||
|         return ("Prénoms qui commence par " + filteredLetter + " (" + totalfilteredLetterStudents + ") : " + filteredStudents.join(', ') + ' et ' + last + '.'); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         return ("Il n'y a pas de prénom commencant par " + filteredLetter + "."); | ||||
|     } | ||||
| } | ||||
|  | ||||
|  | ||||
| ///////////////////////////////////////////////////////////////// | ||||
| /* Fonctions Annexes */ | ||||
|   | ||||
| @@ -121,6 +121,27 @@ $(function () { | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     $("#submitFilterStudents").click(function()  | ||||
|     { | ||||
|         let nameEntered = $('#nameEntered').val(); | ||||
|         let filteredLetter = $("#filteredLetter").val(); | ||||
|  | ||||
|         if(isEmptyValue(nameEntered) || isEmptyValue(filteredLetter)) | ||||
|         { | ||||
|             $('.results').html(emptyMessageError); | ||||
|         } | ||||
|         else if(filteredLetter.length === 1) | ||||
|         { | ||||
|             let students = nameEntered.split(', '); | ||||
|             filteredLetter = capitalize(filteredLetter); | ||||
|             let result = filterStudents(filteredLetter, students); | ||||
|             $('.results').html(result); | ||||
|         } | ||||
|         else { | ||||
|             $('.results').html(messageError); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     /* Permet d'afficher l'heure en temps réel sur le footer */ | ||||
|     window.onload = realDateTime('realDateTime'); | ||||
|  | ||||
|   | ||||
| @@ -36,6 +36,10 @@ | ||||
|                         <td><a href="./function-views/convertDistance.php">Conversion de Distance</a></td> | ||||
|                         <td>Convertit la longueur (distance) avec les unités allant de picomètre au Téramètre.</td>  | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td><a href="./function-views/filterStudents.php">Trie les prénoms par leur première lettre</a></td> | ||||
|                         <td>Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée.</td>  | ||||
|                     </tr> | ||||
|                 </tbody> | ||||
|             </table> | ||||
|     </div> | ||||
|   | ||||
							
								
								
									
										29
									
								
								views/function-views/filterStudents.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								views/function-views/filterStudents.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| <!-- Config --> | ||||
| <?php include("../../php/config.php");?> | ||||
|  | ||||
| <!-- Header --> | ||||
| <?php include("../../incl/header.php");?> | ||||
|  | ||||
| <!-- Page Content --> | ||||
| <div class="container"> | ||||
|   <h1><span class="important"><?php echo $title?></span> :</h1> | ||||
|   <p class="pt-3 text-center"><?php echo $description?></p> | ||||
|   <div class="form-group"> | ||||
| 		<label for="nameEntered">Entrez les prénoms :</label> | ||||
|         <input name="nameEntered" type="text" id="nameEntered" placeholder="(e.g : 'Prénom1, Prénom2, Prénom3, ...')" class="form-control"> | ||||
|         <br> | ||||
| 		<label for="filteredLetter">Entrez la lettre à filtré :</label> | ||||
|         <input name="filteredLetter" type="text" id="filteredLetter" placeholder="(e.g : 'A')" class="form-control"> | ||||
|         <br> | ||||
|         <div class="form-row text-center"> | ||||
|             <div class="col-12"> | ||||
|                 <button type="submit" id="submitFilterStudents" class="btn btn-dark text-center">Envoyer</button> | ||||
|             </div> | ||||
|         </div> | ||||
|         <br> <br> | ||||
| 		<p class="results text-center"></p> | ||||
|     </div> | ||||
| </div> | ||||
|  | ||||
| <!-- Footer --> | ||||
| <?php include("../../incl/footer.php");?> | ||||
		Reference in New Issue
	
	Block a user