OnChange="javascript:submit();

Résolu
inuits44 -  
 inuits44 -
Bonjour,

J'affiche un menu déroulant avec différentes dimensions collectées dans ma base de données.
En fonction de la sélection des dimensions, le prix s'affiche.
Sauf que mon menu déroulant retourne à ma valeur initiale soit "sélectionner une dimension" alors que je voudrais garder les dimensions choisies.

<form name="PrixProd">
<select name="lstcat" onChange="javascript:submit();">
<option value="0">Sélectionner une dimension</option>
<?
//Connexion à la base

// connection avec MySQL

$Jeu="SELECT IdProduit, NomProduit, PrixProduit, DimensionLargeur, DimensionLongueur, DimensionHauteur FROM PRODUITS WHERE CatProduit='TABLES'";
$JeuCat= mysql_query($Jeu);

while ($Ligne=mysql_fetch_array($JeuCat))
{
echo "<option value=$Ligne[IdProduit]";
if ($Ligne["IdProduit"]==$lstcat)
{
echo "SELECTED";
}
echo "> $Ligne[DimensionLargeur] $Ligne[DimensionLongueur] $Ligne[DimensionHauteur]</option>";
}
echo "</select>";
?>

</select>
</form>
<?
if (isset($lstcat))
{
$Mon="SELECT IdProduit, NomProduit, PrixProduit FROM PRODUITS WHERE IdProduit='$lstcat'";
$MonJeu = mysql_query ($Mon);
echo "<table><th> PRIX </th>";

while ($Ligne=mysql_fetch_array ($MonJeu))
{
echo "<tr>";
echo "<td align=center>";
echo $Ligne["PrixProduit"];
echo "</td>";
echo "</tr>";
}
echo "</table>";
}
?>

Merci

2 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    voir les commentaires

    <?php
    //recup du choix dans la liste (cette partie doit être avant le form )
    if(isset($_POST['lstcat'])){
    	$lstcat=$_POST['lstcat'];
    }else{
        //sinon init a 0
    	$lstcat=0;
    }
    //ci dessous dans la balise formil faut method=  action= 
    ?>
    <form name="PrixProd" method="post" action="">
    <select name="lstcat" onChange="javascript:submit();">
    <option value="0">Sélectionner une dimension</option>
    <?
    //Connexion à la base
    
    // connection avec MySQL
    
    
    $Jeu="SELECT IdProduit, NomProduit, PrixProduit, DimensionLargeur, DimensionLongueur, DimensionHauteur FROM PRODUITS WHERE CatProduit='TABLES'";
    $JeuCat= mysql_query($Jeu);
    
    while ($Ligne=mysql_fetch_array($JeuCat))
    {
    	//la on va tenir compte du choix pour mettre la ligne selected
    	$option= "<option value=$Ligne[IdProduit]";
    	if ($Ligne["IdProduit"]==$lstcat)
    	{
    	$option.=" selected"; //ne pas oublier l'espace devant selected 
    	}
    	$option.= "> $Ligne[DimensionLargeur] $Ligne[DimensionLongueur] $Ligne[DimensionHauteur]</option>";
    	
    	echo $option;
    }
    echo "</select>";
    ?>
    
    </select>
    </form>
    <?
    if (isset($_POST['lstcat']))
    {
    	$Mon="SELECT IdProduit, NomProduit, PrixProduit FROM PRODUITS WHERE IdProduit='$lstcat'";
    	$MonJeu = mysql_query ($Mon);
    	echo "<table>";
    	echo "<tr><th> PRIX </th></tr>"; 
    	//attention il faut absolument des <tr></tr> pour avoir une ligne de tableau 
    
    	while ($Ligne=mysql_fetch_array ($MonJeu))
    	{
    		echo "<tr>";
    		echo "<td align=center>";
    		echo $Ligne["PrixProduit"];
    		echo "</td>";
    		echo "</tr>";
    	}
    echo "</table>";
    }
    ?> 
    1
    1. inuits44
       
      Un grand MERCI car je n'aurais pas eu idéee de mettre isset ici.
      0
    2. inuits44
       
      C'est exactement ce que je voulais et ça fonctionne très bien. Merci
      0
    3. inuits44
       
      Ce menu déroulant fonctionne tres bien seul mais si je mets deux autres menus déroulant à la suite, je ne sais pas comment faire avec les submit et action.

      Menu déroulant prix
      Menu déroulant couleur assise
      Menu droulant couleur structure et un choix de quantité.

      Si je teste le premier seul ok
      Si je teste les trois derniers ok

      MENU 1
      <?php
      //recup du choix dans la liste (cette partie doit être avant le form )
      if(isset($_POST['lstcatDim'])){
      $lstcatDim=$_POST['lstcatDim'];
      }else{
      //sinon init a 0
      $lstcatDim=0;
      }
      //ci dessous dans la balise formil faut method= action=
      ?>
      <form name="PrixProd" method="post" action="">
      <select name="lstcatDim" onChange="javascript:submit();">
      <option value="0">Sélectionner une dimension</option>


      MENU 2
      <select name="lstcat">
      <option value="0">--selectionner--</option>";

      MENU 3
      <select name="lstcatStructure">
      <option value="0">--selectionner--</option>";

      CHOIX 4
      <input type="text" size="3" name="Qte" onKeyUp="javascript:couleur(this);">

      BOUTON
      <input type="submit" value="Ajouter au panier">

      Merci
      0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    <?php
    //recup des 3 choix dans la liste (cette partie doit être avant le form )
    //on va utiliser une autre methode la methode ternaire  ==> test si condition ? si oui valeur1 sinon valeur2 
    $lstcatDim=isset($_POST['lstcatDim']) ? $_POST['lstcatDim'] : 0;
    $lstcat=isset($_POST['lstcate']) ? $_POST['lstcat'] : 0;
    $lstcatStructure=isset($_POST['lstcatStructure']) ? $_POST['lstcatStructure'] : 0;
    }
    
    ?>
    <form name="PrixProd" method="post" action="">
    <select name="lstcatDim" onChange="javascript:submit();">
    <option value="0">Sélectionner une dimension</option>
    et la tu mets ta boucle avec le test sur  $lstcatDim pour selected comme fait précedement
    
    MENU 2
    <select name="lstcat" onChange="javascript:submit();">
    <option value="0">--selectionner--</option>";
    et la tu mets ta boucle avec le test sur  $lstcat pour selected comme fait précedement
    MENU 3
    <select name="lstcatStructure" onChange="javascript:submit();">
    <option value="0">--selectionner--</option>";
    et la tu mets ta boucle avec le test sur  lstcatStructure pour selected comme fait précedement
    CHOIX 4
    <input type="text" size="3" name="Qte" onKeyUp="javascript:couleur(this);">
    
    BOUTON
    <input type="submit" name="ajouter" value="Ajouter au panier">
    0
    1. inuits44
       
      Désolée de revenir dessus je n'arrive pas à envoyer mes variables avec le bouton vers la page add_to_caddy.php
      MENU 1 menu deroulant avec boucle pour affiche PRIX
      MENU 2 menu déroulant sans boucle $lstcat
      MENU 3 menu déroulant sans boucle $lstcatStructure
      MENU 4 type text $Qte

      Merci
      0