IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

array.join entre array !


Sujet :

JavaScript

  1. #1
    Membre � l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par d�faut array.join entre array !
    Bonjour � tous,

    �tant compl�tement d�butant dans le monde du d�veloppement en g�n�ral je vais essayer d'�tre le plus explicite possible.

    J'essaye de d�velopper un petit trombinoscope bas� sur php/MySQL, tout fonctionne comme je le souhaite il ne me reste plus qu'� faire en sorte que l'on puisse ressortir les infos souahit�e !

    Pour se faire je joue sur ce que j'appelle des cat�gories qui sont service, responsable, etc...

    Je veux faire en sorte que lorsque je clique sur une checkbox ma condtion se construise tout seul, voila ce a quoi j'arrive :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Trombinoscope</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     
            <script type="text/javascript">
            elements_requete_service = new Array();
            elements_requete_responsable = new Array();
     
            function check_service(val_input, valeur_condi)
            {
            if (val_input)
                {
                elements_requete_service.push(valeur_condi);
                }
                else
                    {
                    for(var i = 0; i < elements_requete_service.length; ++i)
                        {
                        if(elements_requete_service[i] == valeur_condi)
                            {
                            elements_requete_service.splice(i,1);
                            }
                        }
                    }
            document.getElementById('conditions_requete').value =  elements_requete_service.join(' OR ');
            document.getElementById('conditions_requete_visu').value =  elements_requete_service.join(' OR ');
            }
     
            function check_responsable(val_input, valeur_condi)
            {
            if (val_input)
                {
                elements_requete_responsable.push(valeur_condi);
                }
                else
                    {
                    for(var i = 0; i < elements_requete_responsable.length; ++i)
                        {
                        if(elements_requete_responsable[i] == valeur_condi)
                            {
                            elements_requete_responsable.splice(i,1);
                            }
                        }
                    }
            document.getElementById('conditions_requete_2').value =  elements_requete_responsable.join();
            document.getElementById('conditions_requete_visu_2').value =  elements_requete_responsable.join();
            }
            </script>
        </head>
     
        <body>
     
                <h1><u>Filtre trombinoscope :</u></h1>
     
                <p>Cochez les options pour lesquelles vous souhaitez avoir le personnel :</p>
     
                <form action="test.php" method="post">
     
                    <TABLE BORDER>
                        <TR>
                            <TD WIDTH=250 HEIGHT=150>
                                Service :<br /><br />
     
                                <input type="checkbox"  id="administratif" onClick="check_service(this.checked, 'SERVICE = \'administratif\'');" tabindex="10" /><label for="administratif"> Administratif</label><br>
                                <input type="checkbox"  id="condibg" onClick="check_service(this.checked, 'SERVICE = \'condibg\'');" tabindex="20" /><label for="condibg"> Conditionnement BG</label><br>
                                <input type="checkbox"  id="condilmg" onClick="check_service(this.checked, 'SERVICE = \'condilmg\'');" tabindex="30" /><label for="condilmg"> Conditionnement LMG</label><br>
                                <input type="checkbox"  id="entretien" onClick="check_service(this.checked, 'SERVICE = \'entretien\'');" tabindex="40" /><label for="entretien"> Entretien</label><br>
                                <input type="checkbox"  id="expedition" onClick="check_service(this.checked, 'SERVICE = \'expedition\'');" tabindex="50" /><label for="expedition"> Expédition</label><br>
                                <input type="checkbox"  id="maintenance" onClick="check_service(this.checked, 'SERVICE = \'maintenance\'');" tabindex="60" /><label for="maintenance"> Maintenance</label><br>
                                <input type="checkbox"  id="pain" onClick="check_service(this.checked, 'SERVICE = \'pain\'');" tabindex="70" /><label for="pain"> Pain</label><br>
                                <input type="checkbox"  id="patisserie" onClick="check_service(this.checked, 'SERVICE = \'patisserie\'');" tabindex="80" /><label for="patisserie"> Pâtisserie</label>
                            </TD>
     
                            <TD WIDTH=250 HEIGHT=150>
                                Responsabilités :<br /><br />
     
                                <input type="checkbox"  id="responsable" onClick="check_responsable(this.checked, 'RESPONSABLE = \'checked\'');" tabindex="90" /><label for="responsable"> Responsable ?</label><br>
                                <input type="checkbox"  id="dp" onClick="check_dp(this.checked, 'DP = \'checked\'');" tabindex="100" /><label for="dp"> Délégué du personnel ?</label><br>
                                <input type="checkbox"  id="chsct" onClick="check_chsct(this.checked, 'CHSCT = \'checked\'');" tabindex="110" /><label for="chsct"> CHSCT ?</label><br>
                            </TD>
     
                            <TD WIDTH=250 HEIGHT=150>
                                Type de contrat :<br /><br />
     
                            </TD>                       
                        </TR>
                    </TABLE>
     
                    <input type="hidden" name="conditions_requete" id="conditions_requete" value="Aucune case cochée" />
                    <input type="text" name="conditions_requete_visu" id="conditions_requete_visu" value="Aucune case cochée" />
     
                    <input type="hidden" name="conditions_requete_2" id="conditions_requete_2" value="Aucune case cochée" />
                    <input type="text" name="conditions_requete_visu_2" id="conditions_requete_visu_2" value="Aucune case cochée" />
     
                    <input type="submit" value="Valider" />           
                </form>
     
        </body>
    </html>
    J'arrive donc pour une cat�gorie � avoir par exemple SERVICE='maintenance' OR SERVICE = 'pain' et aussi RESPONSABLE="checked"

    la ou le bas blesse c'est que je voudrais mettre un AND entre ces array automatiquement (comme c'est fait pour le OR) car il se peut que seulement responsable soit coch� par exemple...

    Je ne vois pas comment m'y prendre mis � part avec un bout de code php super long et tordu...

    Existe t'il une reste miracle � mon mal ?

    Merci par avance � ceux qui auront eu la patience de lire tout ce post, si je ne suis pas clair (ce dont je ne doute pas) n'h�sitez pas � me demander des pr�cisions.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    concat non ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    var Array1=new Array("coucou", "salut");
    var Array2=new Array("ça va ?", "Bien merci";
    var ArrayConcat=Array1.concat(Array2)
    alert(ArrayConcat)
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre � l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par d�faut
    De ce que j'ai compris le concat ne me permet pas d'ajouter de chaine de caract�re (le fameux AND) ?

    Ce que je voudrais pouvoir faire c'est savoir si quels array sont non-vides et les mettre bout � bout avec un AND entre chaque. C'est possible?

    Sinon que pensez vous de mon bout de code ? Etant novice je recherche des avis ext�rieurs constructif

    Merci par avance !

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    non AND ne mettra pas bout � bout ...

    si c'est juste faire afficher le contenu
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var affichage=((array1.length>0)?array1.join(' '):'')+((array2.length>0)?array2.join(' '):'') 
    alert (affichage)
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  5. #5
    Membre � l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par d�faut
    Je ne veux pas que AND mette bout � bout mes array mais que la chaine AND soit ins�r�e entre les array si elle sont non vides...

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var affichage=((array1.length>0)?array1.join(' ')+' AND ':'')+((array2.length>0)?array2.join(' '):'') 
    alert (affichage)
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre � l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par d�faut
    Et je t'embrasse sur la bouchez gentille grenouille.

    Merci beaucoup !

  8. #8
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert((akyo_== fille)?'avec plaisir':'pouark ça va pas la tête');
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  9. #9
    Membre � l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par d�faut
    En fait une derni�re question pourquoi ce code ne marche pas:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var affichage=((array1.length>0)?array1.join(' '):'')+(((array2.length>0) && (array1.length>0))?'AND'+array2.join(' '):'array2.join(' ')') 
    alert (affichage)

  10. #10
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    parce que la syntaxe est:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var affichage=((array1.length>0)?array1.join(' '):'')+(((array2.length>0) && (array1.length>0))?('AND'+array2.join(' ')):array2.join(' '))
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  11. #11
    Membre � l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par d�faut
    apr�s modif, �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ((array1.length>0)?array1.join(' OR '):'')+(((array2.lenght>0) && (array1.lenght>0))?(' AND '+array2.join('')): array2.join(''));
    Ne marche pas il ne me sort jamais la conditions avec le AND m�me si mes 2 checkbox sont coch�es

    En feintant j'arrive � obtenir le r�sultat escompt�, � la fin des fonctions j'envoie dans une autre fonction pour faire la meme chose et ca marche....mais pourquoi �a �a marche :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    		<script type="text/javascript">
    		elements_requete_service = new Array();
    		elements_requete_responsable = new Array();
     
    		function check_service(val_input, valeur_condi) 
    		{
    		if (val_input) 
    			{
    			elements_requete_service.push(valeur_condi);
    			}
    			else
    				{
    				for(var i = 0; i < elements_requete_service.length; ++i)
    					{
    					if(elements_requete_service[i] == valeur_condi)
    						{
    						elements_requete_service.splice(i,1);
    						}
    					}
    				}
    		document.getElementById('conditions_requete').value =  elements_requete_service.join(' OR ');
    		document.getElementById('conditions_requete_visu').value =  elements_requete_service.join(' OR ');
    		check_test(elements_requete_service.join(' OR '), elements_requete_responsable.join());
    		}
     
    		function check_responsable(val_input, valeur_condi) 
    		{
    		if (val_input) 
    			{
    			elements_requete_responsable.push(valeur_condi);
    			}
    			else
    				{
    				for(var i = 0; i < elements_requete_responsable.length; ++i)
    					{
    					if(elements_requete_responsable[i] == valeur_condi)
    						{
    						elements_requete_responsable.splice(i,1);
    						}
    					}
    				}
    		document.getElementById('conditions_requete_2').value =  elements_requete_responsable.join();
    		document.getElementById('conditions_requete_visu_2').value =  elements_requete_responsable.join();
    		check_test(elements_requete_service.join(' OR '), elements_requete_responsable.join());
    		}
     
    		function check_test(array1, array2) 
    		{
    		document.getElementById('conditions_requete_visu_3').value = ((array1!='')?array1:'')+(((array2!='') && (array1!=''))?(' AND '+array2): array2);
    		}
    et pas ca :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    		<script type="text/javascript">
    		elements_requete_service = new Array();
    		elements_requete_responsable = new Array();
     
    		function check_service(val_input, valeur_condi) 
    		{
    		if (val_input) 
    			{
    			elements_requete_service.push(valeur_condi);
    			}
    			else
    				{
    				for(var i = 0; i < elements_requete_service.length; ++i)
    					{
    					if(elements_requete_service[i] == valeur_condi)
    						{
    						elements_requete_service.splice(i,1);
    						}
    					}
    				}
    		document.getElementById('conditions_requete').value =  elements_requete_service.join(' OR ');
    		document.getElementById('conditions_requete_visu').value =  elements_requete_service.join(' OR ');
    		document.getElementById('conditions_requete_visu_3').value=((elements_requete_service.length>0)?elements_requete_service.join(' OR '):'')+(((elements_requete_responsable.lenght>0) && (elements_requete_service.length>0))?(' AND '+elements_requete_responsable.join('')) : elements_requete_responsable.join(''));
    		}
     
    		function check_responsable(val_input, valeur_condi) 
    		{
    		if (val_input) 
    			{
    			elements_requete_responsable.push(valeur_condi);
    			}
    			else
    				{
    				for(var i = 0; i < elements_requete_responsable.length; ++i)
    					{
    					if(elements_requete_responsable[i] == valeur_condi)
    						{
    						elements_requete_responsable.splice(i,1);
    						}
    					}
    				}
    		document.getElementById('conditions_requete_2').value =  elements_requete_responsable.join();
    		document.getElementById('conditions_requete_visu_2').value =  elements_requete_responsable.join();
    		document.getElementById('conditions_requete_visu_3').value=((elements_requete_service.length>0)?elements_requete_service.join(' OR '):'')+(((elements_requete_responsable.lenght>0) && (elements_requete_service.length>0))?(' AND '+elements_requete_responsable.join('')): elements_requete_responsable.join(''));
    		}
    		</script>
    Le myst�re reste entier pour moi

Discussions similaires

  1. Array dans un Array.. Dans un Array
    Par blinkman04 dans le forum Langage
    R�ponses: 3
    Dernier message: 27/01/2014, 14h36
  2. Diff�rence entre array arraylist ?
    Par sauceaupistou dans le forum Framework .NET
    R�ponses: 7
    Dernier message: 28/03/2008, 22h01
  3. correspondances entre arrays
    Par Jasmine80 dans le forum Langage
    R�ponses: 2
    Dernier message: 14/11/2007, 08h41
  4. Diff�rence entre ARRAY et PACKED ARRAY
    Par homeostasie dans le forum Langage
    R�ponses: 5
    Dernier message: 16/01/2007, 22h02
  5. Join entre 2 tables provenant de Base de donnees differentes
    Par edmotets dans le forum MS SQL Server
    R�ponses: 1
    Dernier message: 24/11/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo