begin process at 2012 05 28 17:19:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

besoin d'aide sur une liste déroulante !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

besoin d'aide sur une liste déroulante !

jeudi 30 avril 2009 à 17:47:56 | besoin d'aide sur une liste déroulante !

lepolo88

Bonjour,
Débutante je galère depuis plusieurs jours sur une liste déroulante ! elle affiche bien les données de ma base mais lorsqu'on clique elle revient sur la première valeur et donc aucune nouvelle page ne se charge ! bloquée ! j'ai vraiment besoin d'aide !

voici le code correspondant :

<script src="fonction.js" ></script>
<?php
include("connect.php");
<form name="catar" method="post" action="sousarticles.php"><input type="hidden" name="valcate"/><input type="hidden" name="valarti"/><input type="hidden" name="valcoul"/><input type="hidden" name="deroultail"/></form>

.......

$sql2="SELECT DISTINCT couleur FROM articles WHERE famille='".$_POST['valcate']."' AND nom_article='".$_POST['valarti']."'";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());



echo '<font color=#4C5013>Couleur : </font><select name="valcoul" onchange="trans_catar(\''.$_POST['valcate'].'\',\''.$_POST['valarti'].'\',\''.$_POST['valcoul'].'\',\''.$_POST['deroultail'].'\');">';
while($data1 = mysql_fetch_array($req2))
    {
    echo '<option value="'.$data1['couleur'].'">'.$data1['couleur'].'</option>';
    }
 if($_POST['valcoul']!="" )
    {
    echo '<option value="'.$_POST['valcoul'].'" selected>'.$_POST['valcoul'].'
    </option>';
    }

echo '</select><br>



//////////////////et dans le fichier fonction.js


function trans_catar(valeur,valeur1,valeur2,valeur3)
{
var cata_trans=valeur;
var arta_trans=valeur1;
var coula_trans=valeur2;
var taill_trans=valeur3;
document.catar.valcate.value=cata_trans;
document.catar.valarti.value=arta_trans;
document.catar.valcoul.value=coula_trans;
document.catar.deroultail.value=taill_trans;
document.catar.submit();
}

Je précise que ce n'est pas moi qui ait fait le code mais un ami qui ne s'en occupe plus et malgré mes journées entières à chercher par ci par la, je ne trouve pas !! je vous remercie d'avance pour votre aide , ma tête explose !
vendredi 1 mai 2009 à 12:33:12 | Re : besoin d'aide sur une liste déroulante !

kohntark

Membre Club
Salut,

Il y a pas mal d'erreurs dans ton code, et certaines relèvent peut être de la conception :

- tu as des champs qui ont le même name "valcoul" mais je ne vois pas bien l'utilité.
- les arguments passés à ta fonction trans_catar sur un événement onchange de ton select sont toujours les mêmes (inscrits "en dur" par php) pourquoi ne pas les passer directement comme value aux hiddens et virer cette fonction ?
par ex :
echo '<input type="hidden" name="valcate" value="'.$_POST['valcate'].'"/>';
Si le but est de s'assurer qu'il y a eu un choix ds le select ce n'est à mon avis pas la bonne méthode.

Je pense que tu devrais préciser ce que tu souhaites faire parce que ce n'est pas clair.


Cordialement,



Kohntark -

lundi 4 mai 2009 à 10:35:41 | Re : besoin d'aide sur une liste déroulante !

lepolo88

Merci pour ta réponse, je vais essayer !
En fait le problème c'est que j'ai une liste déroulante avec un choix de couleur ( d'articles) , la liste affiche bien les différentes couleur de ma base de données mais lorsqu'on veut choisir une autre couleur que la première par défaut dans la liste, la page ne se charge pas et on ne peut voir que l'article de la première couleur de la liste !
Voici le site concerné : [ Lien ]  et pour l'exemple cité voir rubrique accessoires , maroquinerie et par exemple porte- feuille
Dans tous les cas je vais essayer ce que tu m'as dit ! je te dirai ce que ça donne !
merci beaucoup pour ta réponse !
lundi 4 mai 2009 à 13:21:04 | Re : besoin d'aide sur une liste déroulante !

kohntark

Membre Club
Je n'ai pas suffisamment d'éléments, mais il me semble qu'il y a une erreur de méthode.

Si je reprends :
Tu as une page présentant un produit.
1 champs couleur
1 champs quantité que l'on peut modifier à l'aide, ou non, de 2 boutons +/-
1 bouton pour acheter le produit

Pourquoi donc faire une soumission du formulaire au changement du select couleur ??
la photo de ton produit change de couleur peut être ? quel est le code qui s'occupe de ça ? JS ? PHP ?
Il n'y a rien qui permette de le savoir dans ce que tu as fourni.

Cordialement,


Kohntark -

lundi 4 mai 2009 à 17:28:58 | Re : besoin d'aide sur une liste déroulante !

lepolo88

excuse moi mais vu que ce n'est pas moi qui suis l'auteur du code, je galère !
en effet , les photos devraient changer lorsqu'on selectionne une couleur, c'est du javascript apparemment
voici le code entier de la page sousarticles.php, je sais qu'il y a pas mal d'erreur mais j'aimerai pour l'instant juste que les photos changent lorsqu'on sélectionne une couleur !
est ce que tu serais d'accord pour qu'on s'échange nos mails ?
Dans tous les cas je te remercie


""sousarticles.php""


?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
///je passe les meta ///
<link rel="stylesheet" href="mm_health_nutr.css" type="text/css" />
<script src="fonction.js" ></script>
<?php
include("connect.php");

//$_POST['valcat']='decoration';
//$_POST['valart']='boite_secrete';
//$_POST['valcat']='vetements';
//$_POST['valart']='glaoua';

if($_POST['valcoul']!="")
{
$reqplus1=" AND couleur='".$_POST['valcoul']."'";
}
else $reqplus1="";
if($_POST['valcate']!="") $_POST['valcat']=$_POST['valcate'];
if($_POST['valarti']!="") $_POST['valart']=$_POST['valarti'];
$sql10="SELECT nom_article,photo,photo2,taille,prix,compo,couleur FROM articles WHERE famille='".$_POST['valcat']."' AND nom_article='".$_POST['valart']."'".$reqplus1." GROUP BY nom_article";
$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
$res10 = mysql_fetch_array($req10);

//echo 'requete : '.$sql10.'<br>';
//echo 'article : '.$res10['nom_article'].'<br>';
//echo 'couleur : '.$res10['couleur'].'<br>';
//echo 'POST de couleur : '.$_POST['valcoul'].'<br>';


echo '<script language="javascript">
function chgt_image()
 {
 document.grande.src="images/'.$res10['photo2'].'";
 document.petite.src="images/'.$res10['photo'].'";
 }
function init_image()
 {
 document.grande.src="images/'.$res10['photo'].'";
 document.petite.src="images/'.$res10['photo2'].'";
 } 
 
</script>';
?>

<script type="text/javascript">
sfHover = function() {
        var sfEls = document.getElementById("menu").getElementsByTagName("LI");
        for (var i=0; i<sfEls.length; i++) {
                sfEls[i].onmouseover=function() {
                        this.className+=" sfhover";
                }
                sfEls[i].onmouseout=function() {
                        this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
                }
        }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


</script>

 

<style>
.dep
 {
 width:150px;
 height:113px;
 }

#prix
{
color: #000000;
}
.prix
{
color: #000000;
}
prix
{
color: #000000;
}
</style>

</head>

<body bgcolor="#F4FFE4" >
<noscript><p style="color:#FF3300;">REMARQUE : Pour utiliser de nombreuses fonctionnalités du site Abakka, vous avez besoin de Javascript et de cookies. Vous pouvez les activer à l'aide des paramètres de votre navigateur.</p></noscript>

<form name="cat" method="post" action="articles.php"><input type="hidden" name="valcat"/></form>
<form name="cata" method="post" action="sousarticles.php"><input type="hidden" name="valcat"/><input type="hidden" name="valart"/></form>
<form name="newtaille" method="post"><input type="hidden" name="deroultail"/><input type="hidden" name="valcat"/><input type="hidden" name="valart"/><input type="hidden" name="valcoul"/></form>
<form name="catar" method="post" action="sousarticles.php"><input type="hidden" name="valcate"/><input type="hidden" name="valarti"/><input type="hidden" name="valcoul"value="'.$_POST['coul'].'"/><input type="hidden" name="deroultail"/></form>

<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">


  <tr bgcolor="#D5EDB3">
     <li>
  <a href="#">Catégories</a>
 
  <ul>
 
 
 <?php
 $sqlcat="SELECT DISTINCT famille FROM articles";
 $reqcat=mysql_query($sqlcat) or die('Erreur SQL !<br>'.$sqlcat.'<br>'.mysql_error());
 $num_rows = mysql_num_rows($reqcat);
 while($data = mysql_fetch_assoc($reqcat))
 {
 $val_aff=ucfirst($data['famille']); 
 echo '<li><a href="#" onclick="trans_cat(\''.$data['famille'].'\');">'.$val_aff.'</a></li>';
 }
?>
  ...........................
  <!--
  <li><a href="#">Vêtements</a></li>
  <li><a href="#">Décoration</a></li>
  <li><a href="#">Accessoires</a></li>
  <li><a href="#">Encens</a></li>
  <li><a href="#">Produits Naturels</a></li>
  -->
  </ul>
  </li>
  <li>
  <a href="index.php">Déja  Client</a>
  </li>
  <li>
  <a href="index.php">Nouveau Client</a>
 
  </li>
  <li>
  <a href="espace.php">Espace Client</a>
 
  <ul>
  <li><a href="chgt_mdp.php">Changer de mot de passe</a></li>
  <li><a href="adres_liv.php">Changer d'adresse de livraison</a></li>
 
...........................................
 

  

 <?php
$sql1="SELECT id,nom_article,photo,photo2,taille,prix,compo,couleur FROM articles WHERE famille='".$_POST['valcat']."' AND nom_article='".$_POST['valart']."'".$reqplus1." GROUP BY nom_article";
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
$res = mysql_fetch_array($req1);
echo '<div align="center" style="background-color:#F5FFE4;width:90%;">

<div style="width:300px;height:400px;background-color:#F5FFE4;float:left;"><img src="images/'.$res['photo'].'" border="0" name="grande" align="middle"></div>

<div style="float:left;background-color:#F5FFE4;height:400px;width:154px;"><img src="images/'.$res['photo2'].'"  align="center" border="1" width="150" height="113" onmouseover="chgt_image();" onmouseout="init_image();" name="petite"  >
<li class="legende"> Passez la souris pour <br/> changer la photo </li></div>
';

echo '<div style="background-color:#F5FFE4;height:400px;"><h2><b><u><font color=#4C5013>'.$res['nom_article'].'</font></u></b></h2><br>';
echo '<font color=#4C5013>'.wordwrap($res['compo'], 50, "<br>", 1 ).'</font><br>';
echo '<h2><b><u><font color=#4C5013>Prix : '.$res['prix'].' ¤</font></u></b></h2>';

 

//===========================================

//=======================================================================================
//================================= Recherche ID ========================================
//=======================================================================================


$sql_id="SELECT id FROM articles WHERE famille='".$_POST['valcat']."' AND nom_article='".$_POST['valart']."'".$reqplus1;
$req_id = mysql_query($sql_id) or die('Erreur SQL !<br>'.$sql_id.'<br>'.mysql_error());
$res_id = mysql_fetch_array($req_id);

echo '
<font size="2" color="#000000"><fieldset style="width:290px;" align="center">

<form name="temps" method="POST" action="ajout_caddie.php">
';

 


$sql2="SELECT DISTINCT couleur FROM articles WHERE famille='".$_POST['valcat']."' AND nom_article='".$_POST['valart']."'";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());

 

echo '<font color=#4C5013>Couleur : </font><select name="coul" onchange="trans_catar(\''.$_POST['valcat'].'\',\''.$_POST['valart'].'\',\''.$_POST['valcoul'].'\',\''.$_POST['deroultail'].'\');">';
 while($data1 = mysql_fetch_array($req2))
    {
 echo '<option value="'.$data1['couleur'].'">'.$data1['couleur'].'</option>';
    }

if($_POST['valcoul']!="" )
{
echo'<option value="'.$_POST['valcoul'].'"selected>'.$_POST['valcoul'].'</option>';
}

echo'</select><br>

<b><u>Quantité : </u></b>
<input type="text" name="qte" size="3" value="1">
<input type="hidden" name="id" value="'.$res_id['id'].'">
<input type="button"  value="+" name="plus" size="3" onClick="incrementer();">
<input type="button" value="-" name="moins" size="3" onClick="decrementer();">';

$sqltaille="SELECT DISTINCT taille FROM articles WHERE famille='".$_POST['valcat']."' AND nom_article='".$_POST['valart']."' ORDER BY taille ";
//echo 'requete taille : '.$sqltaille.'<br>';
$reqtaille = mysql_query($sqltaille) or die('Erreur SQL !<br>'.$sqltaille.'<br>'.mysql_error());
$num_rowstaille = mysql_num_rows($reqtaille);
$datatai = mysql_fetch_array($reqtaille);
//echo '<script language="javascript">alert("'.$num_rowstaille.'");<//script>';
if($num_rowstaille==1 and $datatai['taille']!="")
 {
  $datatai['taille']=ucfirst($datatai['taille']);
  echo '<b><u>Taille : </u></b>';
  echo $datatai['taille'];
 }
else

 {
 $sqlmytaille="SELECT DISTINCT taille FROM articles WHERE famille='".$_POST['valcat']."' AND nom_article='".$_POST['valart']."' ORDER BY taille ";
 $mytaille = mysql_query($sqlmytaille) or die('Erreur SQL !<br>'.$sqlmytaille.'<br>'.mysql_error());
 //echo '<br>valeur de post deroul tail : '.$_POST['deroultail'].'<br>';
 echo '<b><u>Taille : </u></b>';
 
 echo'<select name="taille" onchange="return choix_taille(\''.$_POST['valcat'].'\',\''.$_POST['valart'].'\',\''.$_POST['valcoul'].'\');">'; //choix_taille();
 //if($_POST['taille']!="") $_POST['deroultail']=$_POST['taille']; // ================================= TAILLE
 
 if($_POST['deroultail']!="") echo '<option value="'.$_POST['deroultail'].'" checked>'.$_POST['deroultail'].'</option>';
 
 while($datataille = mysql_fetch_assoc($mytaille))
  {
  $datataille['taille']=ucfirst($datataille['taille']);
  if($_POST['deroultail']!="" and $datataille['taille']==$_POST['deroultail'])
   {
   $choix_taille="";
   }
   else
   {
   $choix_taille=ucfirst($datataille['taille']);
   echo '<option value="'.$choix_taille.'">'.$choix_taille.'</option>';
   }
  }
 echo '</select>';
 } 
 

echo '<br><br><input type="image" title="Acheter ce produit" src="logo/caddie.jpg" border="0"></form></fieldset></font><br><br><br>';

 


//===========================================
echo '</div>';

echo '</div>';

 

?>
 </table>
</body>


Voila, je sais d'avance que tu vas me dire que c'est gavé d'erreurs ! mais est ce qu'il y a une possibilté pour qu'au moins on puisse choisir les couleurs correctement, ensuite je m'atelerai aux différentes erreurs  !
Si tu  as besoin d'une autre page de code , je l'enverrai

MERCI BEAUCOUP !

mardi 12 mai 2009 à 14:44:23 | Re : besoin d'aide sur une liste déroulante !

lepolo88

Personne pour me donner un  coup de main ??
SVP !


Cette discussion est classée dans : aide, post, document, trans, catar


Répondre à ce message

Sujets en rapport avec ce message

affichage d'image d'après un choix dans une liste déroulante [ par lepolo88 ] Bonjour,Débutante, je galère depuis plusieurs jours sur l'affichage d'un choix d'une liste déroulante! j'ai regardé un peu partout , lu plusieurs foru besois aide js [ par gaucyril ] Bonjour, je suis débutant en javascript.Je veux faire un contrôle de saisie pour le code postal dans un formulaire et je veux donc qu'il y ai 5 caract Problème de formulaire php [ par Mac_ gyver ] Bonjour tout le monde,je suis totalement novice en informatique et j'ai un grave problm de formulaire que je dois mettre en ligne pour une course moto probléme avec la connexion du formulaire avec la base [ par clio2455 ] je cherche à créer un formulaire et d'insérer les donnée dans une base donnée ,la connexion ne marche pas fiche de réclamationfunc SSSSSSOOOOOOOOSSSSS [ par jifa ] SLT.....SVP esqu'il y a quel qu'un qui peut me coriger se scripte?j'ai un problem au niveaux des checkbox. il insere les chekbox qui son cocher mai il plusieurs update [ par whouu ] Salut a tous, je vous explique ce qui me perturbe, je fais un select pour afficher plusieurs resultats (nb non connu) a l'aide d'une boucle while, cha aide [ par nabilwael ] Bonjour,j'ai ce fichier js :var i = 0;    function create_champ(){    if(i        document.getElementById('champs').innerHTML += " Name</label no database selected [ par cyrilherve ] bonjour à tous,je rencontre un petit soucis avec un de mes formulaire depuis que je l'ai mis en ligne.il doit me permettre de faire des enregistrement


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,338 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales