CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Liste déroulante Html/Php

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 19:05:59

Bonjour à tous,

Je dois faire une liste déroulante avec saisie et comme source un fichier .txt, j'arrive à le faire mais le soucis c'est que je voudrais mettre une valeur par défaut et avec mon code, il n'y a rien. Et je voudrais aussi que l'utilisateur ne puisse choisir que les valeurs du fichier .txt et non, une valeur tapée à la main. Comment faire ? Merci :ok:

Voici mon code :
<input list="gpe planif" type="text" id="groupe planif">
<datalist id="gpe planif">
<option value="">Sélectionner un groupe de planif</option>
<?php
$id_fichier = fopen("SA.txt","r");
while($ligne = fgets($id_fichier,1024)) {
print '<option>'.$ligne.'</option>';
}
?>
</datalist>

Darkandgel
Darkandgel
Niveau 10
06 juillet 2015 à 19:47:06
<?php
$table = array();
$handle = fopen("SA.txt","r");
while($ligne = fgets($handle ,1024)) {
    array_push($table, $ligne);//il me semble que la façon d'écrire ça a évolué, mais pas sur
}
?>
<select name="maliste">
<?php for($table as $valeur){?>
<option value="<?=$valeur?>"><?=$valeur?></option>
</select>

Et pour mettre une valeur par defaut tu mets un "selected" dans une <option>

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 19:57:59

Il me semblais aussi que c'était mieux de cette manière. Je vais test ça, merci :)

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 21:24:37

foreach par for ?

Darkandgel
Darkandgel
Niveau 10
06 juillet 2015 à 21:25:33

Ah euh ouai ptetre

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 21:34:37

Il y a une erreur dans ton code, ça me met une erreur mais je vois pas l'erreur :non:

Darkandgel
Darkandgel
Niveau 10
06 juillet 2015 à 22:10:19

Il manque l'accolade de fin du foreach

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 22:10:58

C'est une erreur de syntaxe, surement ici je pense "<?php for($table as $valeur){?>
<option value="<?=$valeur?>"><?=$valeur?></option>"

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 22:32:40

L'accolade à la fin du foreach n'est pas prit en compte, à mon avis les balises php sont mal placées

deepblue
deepblue
Niveau 16
06 juillet 2015 à 22:42:37
<?php

$values = [];

foreach (file('SA.txt') as $line) {
    $line = htmlentities($line);
    $values[$line] = $line;
}

?>

<select id="maliste" name="maliste">
    <?php foreach ($values as $key => $value): ?>
        <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
    <?php endforeach; ?>
</select>
Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 22:52:30

ça fonctionne merci mais il n'y a toujours pas de valeur par défaut et on ne peut pas saisir le début pour faire une recherche plus rapidement...

Darkandgel
Darkandgel
Niveau 10
06 juillet 2015 à 22:55:46

Et je voudrais aussi que l'utilisateur ne puisse choisir que les valeurs du fichier .txt et non, une valeur tapée à la main.

on ne peut pas saisir le début pour faire une recherche plus rapidement...

T'as pas l'impression qu'il y a comme un blem ?

Soit tu laisses saisir une valeur a ton utilisateur, soit tu mets une combobox, mais faire un truc entre les deux...
Ou alors ce n'est pas une liste déroulante qu'il te faut...

Pour lea selection par defaut :

Et pour mettre une valeur par defaut tu mets un "selected" dans une <option>

Greezy_51
Greezy_51
Niveau 4
06 juillet 2015 à 23:01:53

J'ai du mal me faire comprendre à mon avis, exemple : Une liste déroulante avec des pays (Angleterre, Allemagne, Argentine, France, Italie), si l'utilisateur saisie "a", je voudrais que ça affiche Angleterre Allemagne et Argentine. Sachant que dans mon fichier .txt il y a au moins 50 valeurs donc ça irait plus vite avec une saisie.

TW97
TW97
Niveau 7
09 juillet 2015 à 18:39:45

Le 06 juillet 2015 à 23:01:53 Greezy_51 a écrit :
J'ai du mal me faire comprendre à mon avis, exemple : Une liste déroulante avec des pays (Angleterre, Allemagne, Argentine, France, Italie), si l'utilisateur saisie "a", je voudrais que ça affiche Angleterre Allemagne et Argentine. Sachant que dans mon fichier .txt il y a au moins 50 valeurs donc ça irait plus vite avec une saisie.

Autocomplétition tu veux dire :ok:

TW97
TW97
Niveau 7
09 juillet 2015 à 18:48:56

C'est déjà un peu plus complexe que le code précédent, il te faut non seulement du HTML et PHP, mais aussi du JS (AJAX pour les requêtes je précise car Darkandgel est très exigeant :rire2: ) :ok:
Tu crées un input, et sur chaque keydown (ou keyup comme tu le sens) t'envoie une XMLHttpRequest vers un fichier PHP qui va rechercher, trier, et te renvoyer les résultats :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment