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

Langage PHP Discussion :

Récuperer la valeur d'une balise <p> pour l'inserer en base de données


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Récuperer la valeur d'une balise <p> pour l'inserer en base de données
    Bonjour,

    Dans mon formulaire j'ai une liste qui me permet de séléctionner plusieurs valeurs et une fonction JS qui me me chaque valeur dans une balise <p>, et j'aimerai pouvoir renter chaque valeur dans une table; Le problème est que je ne sait pas du tout comment faire, j'ai chercher toute la matiné mais je n'ai aucune piste. Un simple aiguillage m'aiderai fortement.

    Je donne la partie du code du formluaire qui nous intéresse (le code du formulaire est séparé en 2. 1 parti basique avec champ nom,prenom,bouton valider,ect... et cette partie pour les champs en relations avec la base de données).

    Code html : 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
     
    <html>
    	<head>
    		<title>service</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
    <script type="text/javascript" src="js/nav.js" ></script>
     
    	<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;
                            }
     
                            /**
                            * Méthode qui sera appelée sur le click du bouton
                            */
                            function go(){
                                    var xhr = getXhr();
                                    // On défini ce qu'on va faire quand on aura la réponse
                                    xhr.onreadystatechange = function(){
                                            // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
                                            if(xhr.readyState == 4 && xhr.status == 200){
                                                    leselect = xhr.responseText;
                                                    // On se sert de innerHTML pour rajouter les options a la liste
                                                    document.getElementById('uf').innerHTML = leselect;
                                            }
                                    }
     
                                    // Ici on va voir comment faire du post
                                    xhr.open("POST","vues/v_uf.php",true);
                                    // ne pas oublier ça pour le post
                                    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                                    // ne pas oublier de poster les arguments
                                    // ici, l'id du service
                                    sel = document.getElementById('service');
                                    code_service = sel.options[sel.selectedIndex].value;
                                    xhr.send("code_service="+code_service); 
                            }
                            
                     selection_service = function (){
                                     
                                    console.log('coucou', $('#service').find('option:selected'));
                                    $('#service').find('option:selected').each(function(){
                                    $('#ma_selection').append('<p>'+ $(this).val() + '</p>');
                                    });
                            }
                    selection_uf = function (){
                                     
                                    console.log('je marche aussi', $('#uf').find('option:selected'));
                                    $('#uf').find('option:selected').each(function(){
                                    $('#mon_uf').append('<p>' + $(this).val() + '</p>');
                                    });
                            }
                            
            
                            
                    
                    </script>
    	</head>
    	<body>
     
     
    				<label>Service(s)</label><br>
    				<select name='service' id='service' onchange='go()'>
    					<option value='-1'>Aucun</option>
    					<?php
                                                    mysql_connect("localhost","root","");
                                                    mysql_select_db("gestion_mvt");
                                                    $res = mysql_query("SELECT code_service,nom_service FROM service ORDER BY nom_service");
                                                    while($row = mysql_fetch_assoc($res)){
                                                            echo "<option value='".$row["code_service"]."'>".$row["nom_service"]."</option>";
                                                    }
                                            ?>
    					<input type="button" value="conserver le service" onclick="selection_service();selection_uf()">
    				</select><br><br>
    				<label>UF</label><br>
    				<div id='uf' style='display:inline'>
    				<select name='uf'>
    					<option value='-1'>Choisir un service</option>
    				</select>
    				</div>
     
    				<p id="ma_selection"></p>
    				<p id="mon_uf"></p>
     
     
    	</body>
    </html>

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Je ne sais pas si j'ai bien compris ton souci. Néanmoins.

    Code html : 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
     
    <html>
     <head>
      <title>service</title>
    <script type="text/javascript" src="<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script" target="_blank">http://ajax.googleapis.com/ajax/libs...n.js"></script</a>>
    <script type="text/javascript" src="js/nav.js" ></script>
     
     <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;
               }
     
               /**
               * Méthode qui sera appelée sur le click du bouton
               */
               function go2(){
        var xhr = new getXhr();
        // On défini ce qu'on va faire quand on aura la réponse
        xhr.onreadystatechange = function(){
                          // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
                          if(this.readyState == 4 && this.status == 200){
                                  leselect = this.responseText;
                                  // On se sert de innerHTML pour rajouter les options a la liste
                                  document.getElementById('uf').innerHTML = leselect;
                          }
        }
        xhr.open("POST","test9565b.php",true);
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        sel  = document.getElementById('mon_uf');
        tagP = sel.children;
        val  = new Array();
        for(i=0;i<tagP.length;i++) {
         val[i] = tagP[i].innerHTML;
        }
                  var monJSON = JSON.stringify(val);
                  xhr.send("json="+monJSON); 
               }
              
               
        selection_uf2 = function (valeur){                               
                       $('#mon_uf').append('<p>' + valeur + '</p>');
               }       
               
                    
     </script>
     </head>
     <body>
     ....
     <input type="button" value="Go" onclick="go2()"/>
     <div id="uf"></div>
     
        <p id="ma_selection"></p>
        <p id="mon_uf"></p>
     <script>
     selection_uf2(12);selection_uf2(13);selection_uf2(14);
     </script>
     
     </body>
    </html>

    fichier test9565b.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $json = $_POST['json'];
    $array = json_decode($json, true);
    print "J'ai reçu ...";
    foreach($array as $value) {
     print "$value . ";
    }
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonjour badaze et merci de ta réponse,

    je vais essayer d'être plus claire, donc dans mon formulaire j'ai un bouton conserver le service qui joute dans une balise <p> le service et les uf associé (les sous-services si tu prefère).
    Imaginons j'ai choisi le service cardiologie et l'uf corrologie, j'aimerai que quand je valide mon formulaire, je puisse mettre toutes les données dans une base de données. Dans l'ancien code (j'ai pas encore tester le tien), seul la première valeur été mise en base de données. Par exemple si je séléctionner les services cardilogie, pneumologie et neurologie, seul cardiologie se retrouvait dans la base de données mais pas les 2 autres.

    J'espère avoir été claire ^_^. Et je vais tester ton code de suite. Mais
    fichier test9565b.php
    Code php :

    <?php
    $json = $_POST['json'];
    $array = json_decode($json, true);
    print "J'ai reçu ...";
    foreach($array as $value) {
    print "$value . ";
    }
    je ne sais pas si c'est un fichier à part ou autre chose mais je vais essayer quand même

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Mon chère badaze je te tient à te remercié j'étais pas sur qu'AJAX été la solution mais après reflexionje vais en avoir besoin. cependant je n'ai jamais utilisé json (j'ai commencé le Javascript il n'y à pas très longtemps) dpnc je prefère eviter pour ne pas tous mélanger.

    Mais j'ai une question est ce que ceci pourrai marcher j'ai pas encore eu le temps d'essayer ? :
    (pour votre sécurité ceci est un vrac d'idée de code sans aucun sens de programmation logique, veulliez vous équipé d'une tenu de décontamination et d'une paire de lutte pour les eclipses. vous voilà prevenu)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    foreach ($ma_selection as $value){
     
    INSERT INTO mvt_service(nom_agent, code_service)VALUES(:nom, :ma_selection);
    }
    Bon en gros pour expliquer (si vous êtes encore en vie) dans ma_selection j'ai plusieurs balise <p> avec tous les services que j'ai ajouter et il faut que je les rentre dans la base de données avec le nom de l'agent concerné. Je me suis dit que qu'un foreach pouvait mettre utile ou tous autre boucle php. je commence les recherches sur cette idée et j'éditerai le poste si je trouve.

    Du cou c'est possible de faire cette idée ou je viens de créer un monstre.

Discussions similaires

  1. récuperer la valeur d'une balise XML
    Par jeromelabbe64 dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 04/02/2010, 17h30
  2. Récuperer l'id d'une balise <tr id="1-1">
    Par Sidi-Bou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/08/2008, 16h47
  3. afficher une image que son emplacement se trouve ds 1 base de donne
    Par tntneo dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 15/04/2008, 20h16
  4. Découper une variable de type string pour l'inserer a un commentaire
    Par Many31 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/01/2008, 13h32
  5. Récuperer la valeur d'une balise html
    Par spynux dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 28/02/2006, 09h40

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