New function : filterStudents

This commit is contained in:
Divlo 2019-08-29 14:53:15 +02:00
parent bb6268af7b
commit 521f9ee24a
7 changed files with 91 additions and 2 deletions

View File

@ -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 |

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

View File

@ -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!";

View File

@ -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 */

View File

@ -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');

View File

@ -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>

View 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");?>