[RESOLU] Liste déroulante

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 : [RESOLU] Liste déroulante

Re: Liste déroulante

par ga87 » 04 nov. 2016, 12:42

Salut,
Merci Spols et Vincent, ça fonctionne, un peu bizarre que simplement en mettant des simples ou doubles cote ça marche.
Bon il suffit de le savoir c'est l'expérience.
Encore merci.
Guy

Re: Liste déroulante

par vincent.c » 03 nov. 2016, 19:36

Bonsoir,

N'hésite pas à mettre des espaces et des indentations dans ton code. Ce sera plus simple à relire, à la fois pour toi mais aussi pour les autres.

Lorsque tu utilise "echo" pour afficher uniquement du texte HTML, préfère les simples quotes. Pour les attributs HTML, utilise plutôt les doubles quotes.

Utilise les doubles quotes pour éviter (au mieux) la concaténation et ainsi éviter les erreurs de guillemets.

La forme ternaire est un bon moyen de faire une affectation conditionnelle sur une ligne.
<?php

echo '<form name="myform" action="essai.php" method="POST">';
    echo '<select name="x" onchange="myform.submit()">';

        for ($i = 1; $i <= 10; $i++) {
            $selected = ($i == $_POST['x']) ? 'selected' : '';
            // echo "ixs=".$i."  ".$_POST['x']."  ".$selected; // ?
            echo "<option value=\"$i\" $selected>$i</option>";
        }

    echo '</select>';
    echo '<input type="text" value="'.$_POST['x'].'">';
echo '</form>';
Bonne soirée.

Re: Liste déroulante

par Spols » 03 nov. 2016, 17:59

salut,

essaye sans les simple quote autour du selected
<?php
  echo"<form name='myform' action='essai.php' method='post'>";
  echo "<select name='x' onchange='myform.submit()'>";
  	for($i=1;$i<=10;$i++)
  	{
  		if($i==$_POST['x']){$selected='selected';}else{$selected='';}
  		echo "ixs=".$i."  ".$_POST['x']."  ".$selected;
    echo "<option value=".$i." ".$selected.">".$i."</option>";
  	}
  	echo "</select>";
  	echo "<input type='text' value='".$_POST['x']."'>";
  	echo "</form>";
?>

Liste déroulante

par ga87 » 03 nov. 2016, 17:10

Bonjour,
Je veux simplement que ma liste se repositionne sur la valeur choisie, c'est surement très simple mais je coince.
Mon code :
<?php
	echo"<form name='myform' action='essai.php' method='post'>";
	echo "<select name='x' onchange='myform.submit()'>";
  	for($i=1;$i<=10;$i++)
  	{
  		if($i==$_POST['x']){$selected='selected';}else{$selected='';}
  		echo "ixs=".$i."  ".$_POST['x']."  ".$selected;
		echo "<option value=".$i." '".$selected."'>".$i."</option>";
  	}
  	echo "</select>";
  	echo "<input type='text' value='".$_POST['x']."'>";
  	echo "</form>";
?>
Merci pour l'aide.