liste lier et appel d une requete par le 2 eme select

Eléphant du PHP | 123 Messages

12 mai 2011, 16:46

c est pour ca au depart je voulait faire un split car j ai ma fonction pour la maj du select 2 que je veux inseré dans mon onchange
seulement j ai besoin de separé mon value en 2 je sais juste pas comment

ViPHP
xTG
ViPHP | 7331 Messages

13 mai 2011, 08:06

Ah oui ok c'est pas un souci PHP mais JS en fait ton affaire. :)

Le principe reste le même sauf que tu dois couper la chaîne avec split sur un caractère que tu es sûr de ne pas rencontrer dans tes deux valeurs.

Code : Tout sélectionner

var valeur = "../cat/principal.php?action=pile;Tapis de souris"; var tmp = valeur.split(';'); alert(tmp[0]); alert(tmp1]);

Eléphant du PHP | 123 Messages

13 mai 2011, 11:48

heu ca me fait tourner en rond la :shock:

mon code a été modififer pour d autre choses desormais donc ma question est a partir de mon code actuel comment je fais pour afficher mes resultat trouver


une partie du select
 <td  width=400>&nbsp;<select name=CATEGORIE class=texte   onchange="MAJ_marque(this.value);aff_val()">
                  <option value ='-'>Choisissez une catégorie
                    <option value='-'>                
                  <option style="color:#FFFFFF; background-color:#55606B" value='69-' >ACCESSOIRE DIVERS
                    
                    <option value='Pile-../cat/principal.php?action=cat' >Pile 
                    <option value='Tapis souris'>Tapis souris 
                    <option value='-'>                
                  <option style="color:#FFFFFF; background-color:#55606B" value='112-' >AUDIO
                    <option value='Carte son' >Carte son
                    <option value='Haut-Parleur' >Haut-Parleur
                    <option value='Lecteur MP3-MP4' >Lecteur MP3-MP4
                    <option value='Microphone - casque' >Microphone - casque
                    <option value='Système Home Cinema' >Système Home Cinema
                    <option value='Télécommande' >Télécommande
                    <option value='Téléphone' >Téléphone
mon code complet du php
 if(isset($_POST['CATEGORIE']))
	 {
	 switch($_POST['action'])
	  {
              
                    
                    case"cat":
                    
                            //création un nouvel objet tbs
                            $tbs = new clsTinyButStrong;
                                        
                            //modèle html dynamique à utiliser
                            $tbs -> LoadTemplate("cat.html");
    
                            //création de la requete
                            $requete = "SELECT* ,round((Nnet_ttc * 1.396),2) as net FROM Nproduct
                            where 	Nsouscategorie=".$_POST['CATEGORIE']; 
                            
                              
                            //execute la requete,recupere les resultats et fusionne avec le modele html
                            $tbs -> MergeBlock('blk',$connexion,$requete);
                                      
                            //affiche le fichier html
                            $tbs -> Show();
                      break;
                    
	      }
	  }
	if(isset($_GET['num']))
       {
       
       // si on reçois un parametre num c'est que on veux mettre a jour la liste des marques
       
       //sélection des marques qui utilisent la categorie reçu en parametre num
       
       $requete = "SELECT DISTINCT Nmarque FROM Nproduct
                   WHERE 	Nsouscategorie ='".$_GET['num']."'" ;
                   
                  
                   
         // execution de la requete et recuperation les resultats dans une variable
         
         $resultats = mysql_query($requete) ;
         
         //construire la chaine de marques a afficher
        
         
         //commencement de la liste déroulante des marques
         
        $res = "&nbsp;<select name=\"N_ID\" onchange=\"document.getElementById('result').src=this.options[this.selectedIndex].value;MAJ_marque(this.value)\">";
                      
        $res=$res."<option value=>choisissez une marque</option>";
         while($tempo = mysql_fetch_assoc($resultats) )
          {
                  
            //répétition des marques trouvées
			       $res = $res ."<option value=".$tempo['N_ID'].">".$tempo['Nmarque']."</option>";
         
         }
         
         //fin de la liste déroulante
        $res = $res ."</select>";   
		   
	     	echo $res;
	     	
	     	
        
	 
	 }
   



il n y que mon php qui a changer dans le plus gros

je souhaite que ca affiche comme la
http://www.sauvetage-informatique.eu/cat/catiframe.html
mais avec ca http://www.sauvetage-informatique.eu/ca ... frame.html

j arrive pas a gouppiller les deux ensemble

Eléphant du PHP | 123 Messages

13 mai 2011, 17:33

voila j ai reussi a afficher mes resultats ainsi que mes marques sur mon deuxieme select

j ai un autre soucis maintenant

et oui encore :lol:

j ai tenté de faire ma meme chose pour mon deuxieme mais rien ne ce passe

question: est ce que mon select2 afficher par un echo php prend en compte le formulaire de la page en question

car j ai pas l impression qu il prend le action du form

ViPHP
xTG
ViPHP | 7331 Messages

13 mai 2011, 19:56

Du moment que ton select se trouve à l'intérieur des balises <form> et qu'il possède un attribut name qui n'est pas déjà utilisé il n'y a pas de raison d'avoir de problème.

Eléphant du PHP | 123 Messages

14 mai 2011, 16:55

mon premier select est dans le formulaire de ma page html mais le second c est mon fichier php qu il affiche par son echo donc il est pas dedans je pense ?
comment je fais pour qu il en fasse partie?

ViPHP
xTG
ViPHP | 7331 Messages

16 mai 2011, 08:28

Ton second <select> est appelé par de l'Ajax il me semble non ?
Il faut que l'ajax l'insère dans un élément se trouvant à l'intérieur des balises <form>.

Eléphant du PHP | 123 Messages

16 mai 2011, 15:36

bonjour

l ajax c est un peu chinois pour malgré tout ce que j ai lu maintenant mais je remet mon code ajax
<script type="text/javascript">
 //FONCTION AJAX  
   

// select 1
document.getElementById("CATEGORIE").onchange = function()
 { 
 var Nsouscategorie = document.getElementById("CATEGORIE").selectedValue;
  MAJ_marque(Nsouscategorie);
  
 };

// select 2
document.getElementById("marque").onchange = function() {
// Récupérer l'id de la marque
var marque = document.getElementById("marque").selectedValue;
// Afficher le résultat
MAJ_resultat(marque); };

      
      function MAJ_marque(Nsouscategorie)
{
    //declaration d'une variable
   var xmlhttp;
   
    //test si une categorie a été choisi
       if (Nsouscategorie.length==0)
    {
		document.getElementById("liste_marques").innerHTML="";
		return;
   }
   // test le type de navigateur pour créer l'objet adapté
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

  // appel et exécution d'une fonction permettant la mise a jour dynamique
  xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
		//remplisage de la zone dynamique marque avec les resultats trouvés en base de données
		document.getElementById("liste_marques").innerHTML=xmlhttp.responseText;
    }
  }

  
  xmlhttp.open("GET","principal.php?num="+Nsouscategorie,true);
   xmlhttp.send();
  
  
  } 
</script>  
il a été un eu modifier cependant je maitrise pas du tout et a chercher partout sur le net depuis des jours mon cerveau sature
je pense qu il me manque une fonction qui recupere du select1 et recupere le select2
mais je sais pas du tout faire ca

j ai modifier aussi ma requete car n etait pas juste ,donc la elle fonctionne car je l ai tester en dur via l url comme ceci principal.php?marque=CREATIVE&CATEGORIE=Carte son

je commence a desperé d arriver a faire ce menu deroulant :(

Eléphant du PHP | 123 Messages

17 mai 2011, 08:27

j ai vraiment besoin d aide s il vous plait :cry: :cry:

Eléphant du PHP | 275 Messages

17 mai 2011, 11:05

Je pense que tu devrais apprendre la programmation avant de t'y mettre, du coup.
Il y a juste deux millards de solutions pour avoir un couple de valeurs dans un select, simplement il faut prendre un peu de recul.

Eléphant du PHP | 123 Messages

17 mai 2011, 13:19

bonjour , si j ai poster dans la section debutant c est pas pour rien

je fais une formation en 8 mois alors que l original est en 2 ans donc on vois pas tout avec profondeur cependant

si y a 2 milliard de solution c est super , moi j en demande qu une pour resoudre mon probleme

ViPHP
xTG
ViPHP | 7331 Messages

17 mai 2011, 13:21

liste_marques est-il un élément dans la balise <form> ?

Eléphant du PHP | 123 Messages

17 mai 2011, 13:32

oui c est la div ou s affiche mon select 2 et est bien dans mon form

ViPHP
xTG
ViPHP | 7331 Messages

17 mai 2011, 16:44

Pas de raison alors que le select ne soit pas envoyé lors de la transmission du formulaire alors. :|

Eléphant du PHP | 123 Messages

17 mai 2011, 17:06

mais qui dit a mon dans mon ajax d effectuer le trie lors du clik? car la mon code c est juste pour mettre le select2 a jours mais j ai pas de fonction pour le select2 lors du clik sur celui ci

j ai vue en fouillant sur le net ceci

Code : Tout sélectionner

httpRequest.open('GET', 'traitement.php?var1=valeur1&var2='+Nsouscategorie, true); httpRequest.send(null);
bon pour moi traitement serai principal
var1 et valeur 1 je sais pas et var2 je pense num chez moi ou ?