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 :

combo box + php et javascript?


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 252
    Par d�faut combo box + php et javascript?
    Bonjour a tous,
    je ne suis pas sure que ce soit le bon forum mais j'essaye.

    Voila, jai une table avec son entete ecrit en HTML. Je cree les autres lignes de la table dynamiquement avec Javascript.
    Pb: dans la cellule d'une ligne je souhaite mettre une combo box ayant des valeurs que je recupere d�ne base de donnees.

    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
    <script>
        function start() {
            // get the reference for the body
            var body = document.getElementsByTagName("body")[0];
     
            // creates a <table> element and a <tbody> element
            //var tbl = document.createElement("table");
     
    		var tbl = document.getElementById("table");
            var tblBody = document.createElement("tbody");
     
            // creating all cells
            //for (var j = 0; j < 2; j++) {
                // creates a table row
                var row = document.createElement("tr");
     
                //for (var i = 0; i < n; i++) {
                    // Create a <td> element and a text node, make the text
                    // node the contents of the <td>, and put the <td> at
                    // the end of the table row
                    var cell_1 = document.createElement("td");
    				var cell_2 = document.createElement("td");
    				var cell_3 = document.createElement("td");
    				var cell_4 = document.createElement("td");
     
    				var cell1=document.createElement("input");
    				cell1.type="text";
    				cell1.name="fname";
    				cell1.size="20";
    				cell1.maxlength="50";
    				//cell1.style="background:#FFFFCC";
    				cell_1.appendChild(cell1);
     
    				var cell2=document.createElement("textarea");
    				cell2.name="fdescription";
    				cell2.rows="2";
    				cell2.cols="30";
    				//cell2.wrap="hard";
    				cell_2.appendChild(cell2);
     
    				var cell3 = document.createElement("a");
    				cell3.setAttribute("href","delete.php");
    				cell3.appendChild(document.createTextNode("[Delete]"));
                    cell_3.appendChild(cell3);
     
    				var cell4 = document.createElement("a");
    				cell4.setAttribute("href","delete.php");
    				cell4.appendChild(document.createTextNode("[Delete]"));
                    cell_4.appendChild(cell4);
     
                    row.appendChild(cell_1);
    				row.appendChild(cell_2);
    				row.appendChild(cell_3);
    				row.appendChild(cell_4);
               // }
     
                // add the row to the end of the table body
                tblBody.appendChild(row);
            //}
     
            // put the <tbody> in the <table>
            tbl.appendChild(tblBody);
            // appends <table> into <body>
            body.appendChild(tbl);
            // sets the border attribute of tbl to 2;
            tbl.setAttribute("border", "1");
        }
    </script>
     
    <form>
     
    	<table align="center" border = "2" cellspacing ="0" cellpadding="3" id="table">
    		<tr><td><b>Functionality Name:</b></td> <td><b>Description:</b></td> <td><b>Status:</b></td> <td><input type="submit" value="Add Functionality" onclick='start();'></td></tr>
     
    	</table>
    </form>
    <?php 
                    require_once ('../mysqli_connect.php');
                    echo '<select name="fstatus" style="width: 150px">';
     
                    // Retrieve all the statuses of a functionality
                    $q = "SELECT F_status_ID, Functionality_status FROM fstatuses ORDER BY F_status_ID ASC";
                    $r = mysqli_query($dbc, $q);
                    if (mysqli_num_rows($r) > 0) {
                            while ($menu_row = mysqli_fetch_array($r, MYSQLI_NUM)) {
                                    echo "<option value=\"$menu_row[0]\">$menu_row[1]</option>\n";
                            }
                    }
                    echo '</select>';
                    mysqli_free_result($r);
                    unset($menu_row);?>
    pour l'instant le menu deroulant ne se trouve pas dans cell_3 (j'y ai mis le lien delete.php pour eviter que mon code ne plante) comme je le veux.
    Une idee?

    Merci d'avance.

    Billy

  2. #2
    Membre �m�rite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par d�faut
    Pourquoi usilises-tu du Javascript ?

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 252
    Par d�faut
    Parceque j'utilise du Javascript parce que je veux que la ligne de la table soit cree qund l'utilisateur clique sur Add Functionality.
    Je ne sais pas le faire en Php ni en javascript non plus mais je me suis debrouiller a avoir un resultat en javscript. PhP je ne sais pas le faire.

    Une autre possibilite? en php par exemple de creer les lignes dynamiquement?

    Merci

  4. #4
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    Salut,
    Pour cr�er un select avec remplissage depuis php, tu peux t'inspirer de ce tutoriel:
    http://siddh.developpez.com/articles/ajax/#LIV

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 252
    Par d�faut
    J'ai deja utilise ce tutoriel et je suis arrive au resultat suivant:

    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
    <script>
    	function getXhr(){
                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr;
    			}
     
    		function go(){
    				var xhr = getXhr();
    				xhr.open("POST","add_function.php",true);
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     
    			}
    </script>
    <body onload="go()">
    le code de add_function.php est le suivant:

    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
    <?php 
                    require_once ('../mysqli_connect.php');
                    echo '<select name="fstatus" style="width: 150px">';
     
                    // Retrieve all the statuses of a functionality
                    $q = "SELECT F_status_ID, Functionality_status FROM fstatuses ORDER BY F_status_ID ASC";
                    $r = mysqli_query($dbc, $q);
                    if (mysqli_num_rows($r) > 0) {
                            while ($menu_row = mysqli_fetch_array($r, MYSQLI_NUM)) {
                                    echo "<option value=\"$menu_row[0]\">$menu_row[1]</option>\n";
                            }
                    }
                    echo '</select>';
                    mysqli_free_result($r);
                    unset($menu_row);?>
    Ce code tout seul marche parfaitement.

    Mais quand je teste le premier code, j'ai une page blanche.

    Qu'est ce qui se passe??

    Merci

    Billy

  6. #6
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Il est o� le xhr.send() ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  7. #7
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    +1 Bovino
    Tu ne r�cup�res pas le r�sultat du requ�te AJAX dans la fonction go().

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 252
    Par d�faut
    j'ai ecrit xhr.send();
    Ce que je veux recuperer c'est ma liste et mes options.
    Je ne sais pas quoi mettre en argument de xhr.send();

Discussions similaires

  1. [MySQL] Sauver valeur de Combo Box dans une session PHP
    Par Namson dans le forum PHP & Base de donn�es
    R�ponses: 1
    Dernier message: 13/08/2010, 10h34
  2. combo box en javascript _ fichiers KML
    Par Jijudu dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 19/11/2008, 18h43
  3. [VB.NET] Choisir les valeurs des items d'un combo box?
    Par Eithelgul dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 07/06/2004, 10h13
  4. R�ponses: 2
    Dernier message: 11/05/2004, 11h17
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    R�ponses: 14
    Dernier message: 05/04/2004, 18h47

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