Menu déroulant avec include

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Menu déroulant avec include

Re: Menu déroulant avec include

par xTG » 04 oct. 2011, 08:52

Re: Menu déroulant avec include

par cross » 04 oct. 2011, 08:36

Mon menu echo m'envois la liste des fichiers du repertoire que j'ai désigné en enlevant les 4 derniers caractères (.php) et les 3 premiers correspondant à un chrono qui va de 100 à 199.

J'aimerais donc trier ce chrono en ordre croissant pour avoir :
100
101
102 ...

et non plus 107
105
104
101
106
103...

Re: Menu déroulant avec include

par moogli » 04 oct. 2011, 00:52

quels exemple de tri ?

En gros il faut mettre tous les fichiers (qui sont intéressant) dans un tableau et utiliser sort (ou une autre fonction de tri de tableau).

Il est aussi possible d'utiliser SQLite pour des fonctions de tri plus avancées.

@+

Re: Menu déroulant avec include

par cross » 04 oct. 2011, 00:36

Le problème c'est que je ne trouve pas où placer le tri dans mon code.

A chaque fois (au niveau du tri) tout marche nickel en localhost mais pas quand je l'héberge.

Re: Menu déroulant avec include

par moogli » 04 oct. 2011, 00:18

salut,

essai glob + sort (ou une autre dans le style)

@+

Re: Menu déroulant avec include

par cross » 03 oct. 2011, 23:11

Bon j'ai trouvé ma solution :
<div id="tmeplatemo_container">
<div id="tmeplatemo_content">
<p>Merci de sélectionner une étape :
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>
<select name="choix" id="choix">
<?php
$dirname = './resultats/';
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file)) {
$file_name = substr($file, 3);
$file_name = substr($file_name,0, -4);

echo '<option value="'.$dirname.$file.'">'.$file_name.'</option><br />';
}
}
closedir($dir);
?>
</select>
<input type="submit" value="OK" />
</p>
</form>
</p>
</div>
<p>
<?php
$choix = !empty($_POST['choix']) ? $_POST['choix'] : '';
if ($choix) {
include $choix;
}
?>

</p>
<p>&nbsp;</p>
</div> <!-- end of container -->
Mon (nouveau) problème serait donc d'afficher dans mon menu déroulant les fichiers classés en alphanumérique (ils commencent par 101/102/103...)

Re: Menu déroulant avec include

par xTG » 02 oct. 2011, 08:30

Ah oui ! Beh faut pas tout mélanger...
PHP s’exécute côté serveur, Javascript côté client !!!
Donc soit tu recharges la page et tu transmets la valeur du select pour inclure en PHP.
Soit tu utilises de l'Ajax pour récupérer le contenu du fichier et modifier le DOM pour l'inclure.

Re: Menu déroulant avec include

par cross » 01 oct. 2011, 21:45

Le code
<select name="selection" onchange="document.location.href = this.options[this.selectedIndex].value;">
me permet d'ouvrir le fichier php que je sélectionne dans mon menu déroulant dans ma feuille _parent.

J'aimerais plûtot faire un include avec une ligne ressemblant à

<select name="selection" onchange=include "this.options[this.selectedIndex].value;">

Re: Menu déroulant avec include

par xTG » 01 oct. 2011, 21:18

Hum, pas sûr de comprendre la nature du problème.
include('monScript.php");
??

Menu déroulant avec include

par cross » 01 oct. 2011, 21:13

Bonjour à tous,

Je me suis lancé depuis peu dans le php et j'ai créé la liste suivante qui me renvois la liste des fichiers (il n'y a que des .php) que j'ai dans un de mes dossiers et me permet de les afficher dans la page.

Dorénavant, je cherche à faire un include de ces fichiers dans ma page active et c'est là que je patauge depuis quelques jours sans trouver la solution sur ce forum pourtant très complet.

Help ?

Voici mon code :
 <select name="selection" onchange="document.location.href = this.options[this.selectedIndex].value;">
        <option selected="selected">Faites votre choix</option>
	<?php
    $dirname = './resultats/';
    $dir = opendir($dirname);
    while($file = readdir($dir)) {
    if($file != '.' && $file != '..' && !is_dir($dirname.$file))
    {
		$file_name = substr($file,0, -4);
	echo '<option value="'.$dirname.$file.'">'.$file_name.'</option><br />';
    }
    }
    closedir($dir);
    ?> 
</select>