Liste déroulante des nombres compris entre 2 nombres

Signaler
-
robert_8083
Messages postés
1
Date d'inscription
mercredi 19 février 2020
Statut
Membre
Dernière intervention
20 février 2020
-
Bonjour, Je souhaite:
1 - Afficher tous les nombres compris entre 2 nombres.
Exemple: tous les nombres compris entre 12 et 36.

2 - Afficher ces nombres dans une liste déroulante

3 réponses

Messages postés
2081
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2
Bonjour,

Pourquoi ne pas faire une boucle ?

Exemple de l'exemple :

$liste[] = '';
for ($i = 12; $i < 37; $i++) {
$liste[] = $i;
}


Ensuite un petit json_encode() pour passer cela à Javascript qui remplira la liste déroulante.

Cordialement,
Pkatra
Messages postés
2
Date d'inscription
mercredi 5 février 2020
Statut
Membre
Dernière intervention
12 février 2020

Merci mais cela complique encore pour moi lorsque tu parles de json_encode() que je ne connais pas.
Messages postés
2081
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2
json_encode() est une fonction de PHP permettant d'envoyer au front via Javascript (comme tu as posté ton soucis dans le forum PHP, je te donne un piste en PHP)

Aide sur la fonction json_encode() de PHP : https://www.php.net/manual/fr/function.json-encode.php


Mais si tu veux faire ça en total front, on utilisera Javascript, petit exemple concret :

<!DOCTYPE html>

<html lang="fr">

<head>

    <meta charset="UTF-8">

    <title>Liste</title>

</head>

<body>

<label for="maListe"></label><select name="maListe" id="maListe"></select>

<script>
    for (let i = 12; i < 37; i++) {
        let option = document.createElement('option');
        option.textContent = i.toString();
        option.value = i.toString();
        document.getElementById('maListe').appendChild(option);
    }
</script>

</body>

</html>


Code à adapter selon ton usage bien évidement. Ce n'est qu'une piste.

Cordialement,
Pkatra
Messages postés
2
Date d'inscription
mercredi 5 février 2020
Statut
Membre
Dernière intervention
12 février 2020

Salut et encore grand merci car ce que tu me donne fonctionne mon problème est que j'ai une base de données avec une table NUMERO_BORD où j'enregistre le debut_numero et fin_numero; et l'enregistrement fonctionne; ce que je cherche c'est comment faire lorsque je fais mon enregistrement de debut et fin pour à chaque fois afficher les nombres correspondants (existants entre 10 et 20; entre 58 et 68; etc ) à chaque categorie de debut et fin?

------------ debut_numero ----------------- fin_numero ------------- date_enreg ------- client --------

------------- 11 -------------------- 43 ------------ 2020-01-14 ------- banc-----

------------- 69 -------------------- 78 ----------------- 2020-01-15 ------- poissonnerie

------------- 54 -------------------- 103 ------------------ 2020-01-18 ------- faxeur

------------- --- --- ---------------- ------- -----------

------------- ---- ---- ------------- ------- ----------

comment mettre dans une liste déroulante les nombres existants entre debut et fin?
cs_PaTaTe
Messages postés
2081
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2 > Pkatra
Messages postés
2
Date d'inscription
mercredi 5 février 2020
Statut
Membre
Dernière intervention
12 février 2020

Personnellement je ferais un script PHP lisant la base de données et qui renvois du JSON ; JSON que Javascript récupérera par requête Ajax pour nourrir la liste déroulante.
Messages postés
1
Date d'inscription
mercredi 19 février 2020
Statut
Membre
Dernière intervention
20 février 2020

<!DOCTYPE HTML>
<html lang = "en">
<head>
<title>formDemo.html</title>
<meta charset = "UTF-8" />
</head>
<body>
<h1>Form Demo</h1>
<form>
<fieldset>
<legend>Selecting elements</legend>
<p>
<label>Select list</label>
<select id = "myList">
<option value = "1">one</option>
<option value = "2">two</option>
<option value = "3">three</option>
<option value = "4">four</option>
</select>
</p>
</fieldset>
</form>
</body>
</html>