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

PHP & Base de données Discussion :

système de notation


Sujet :

PHP & Base de données

  1. #21
    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 : 54
    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


    Tu as lu le tuto et pour toi, il y est indiqué que pour passer des paramètres dans une requête, il faut utiliser setRequestHeader() ?
    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

  2. #22
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Je vois rien d'autre

  3. #23
    Invité
    Invité(e)
    Par défaut
    Je t'ai donné la méthode (et le CODE) dans ma précédente réponse.

  4. #24
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Oui mais j'arrive pas à récup la note pour l'insérer dans ma table

  5. #25
    Invité
    Invité(e)
    Par défaut
    Et si tu montrais TON code ??

  6. #26
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Voilà ce que j'ai:
    Code javascript : 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
    onload = function(){
      init();
    };
    // --------------
    var StarOutSrc = 'images/starOut.png';
    var StarOnSrc = 'images/starOver.png';
    var n = 5;
    // --------------
    function init(){
    	var html = '';
    	for (i=0; i<n; i++){
    		id = i+1;
    		html += '<img src="'+StarOutSrc+'" ';
    		html += 'id="star" value="off" ';
    		html += 'onMouseOver="over('+id+');" ';
    		html += 'onMouseOut="out('+id+');" ';
    		html += 'onClick="on('+id+')"/></a>'
    	}
    	document.getElementById("note").innerHTML = html;
    }
    // --------------
    function over(nb){
    	elemClassement = document.getElementById("note");
    	tabImg = elemClassement.getElementsByTagName("img");
     
    	if (nb > 0){
    		for (i=0; i<nb; i++){
    			tabImg[i].src = StarOnSrc;
    		}
    	}
    	for (i=nb; i<n; i++){
    		tabImg[i].src = StarOutSrc;
    	}
    }
    // --------------
    function out(nb){
      elemClassement = document.getElementById("note");
      tabImg = elemClassement.getElementsByTagName("img");
     
      for (i=0; i<nb; i++){
        tabImg[i].src = StarOutSrc;
      }
      for (i=0; i<n; i++){
        if (tabImg[i].value == "on")
           tabImg[i].src = StarOnSrc;
        }
      }
    // --------------
    function on(nb){
      elemClassement = document.getElementById("note");
      tabImg = elemClassement.getElementsByTagName("img");
     
      for (i=0; i<nb; i++){
        tabImg[i].src = StarOnSrc;
        tabImg[i].value="on";
      }
      for (i=nb; i<n; i++){
        tabImg[i].src = StarOutSrc;
        tabImg[i].value = "off";
      }
      // ICI, on peut lancer une procédure AJAX
      // -> pour enregistrer la valeur en BdD
      notationAjax(nb);
     
    }
    // --------------
    function notationAjax(nb){
    	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){
    //			alert(xhr.responseText);
    			document.getElementById("notechoisie").innerHTML = 'Vous avez choisi : '+nb;
    		}
    	}
    	xhr.open("GET","newfree.php", true);
    	xhr.send('note='+nb); // on transmet la note
    }
    // --------------
     
    // Création de l'objet XmlHttpRequest
    	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;
    }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="note" name="cls"></div>
    <div id="note"></div>

    Il me dit qu'il ne trouve pas ma variable $note dans la requete.
    Tout est sur la même page: le javascript, le php et le formulaire

  7. #27
    Invité
    Invité(e)
    Par défaut
    Moi, j'avais écrit :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="note" name="cls"></div>
    <div id="notechoisie"></div>
    Tu ne vois pas une différence avec ton code ?
    Citation Envoyé par totot Voir le message
    Tout est sur la même page: le javascript, le php et le formulaire
    Tu n'as manifestement RIEN compris à Ajax !
    Ou probablement PAS LU le tuto...

    Ajax fait appel à une PAGE EXTERNE (php) qui renvoie ensuite un résultat dans la page en cours, SANS rechargement.

    Où est le code de newfree.php ???
    Dernière modification par Bovino ; 25/01/2014 à 09h14.

  8. #28
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Tout ce qui est en javascript, je le met donc a part?

  9. #29
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    newfree:
    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
    <form role="form" id="creerfree" action="" method="post">
              <fieldset>
                <legend><h2>Créer un free<h2></legend>
     
                <?php
                  if (count($_POST)==0):
                    // le tableau $_POST est vide = cas de la demande du formulaire
                    // dans ce cas on initialise les variables de travail 
                    $nom= "";
                    $prenom= "";
                    $note= "";
                  else:         
     
     
                    extract($_POST); // Récupère les valeurs du formulaire
     
    $note = $_GET['note'];
     
    $req1 = "insert into free (nom, prenom, note) 
                               values(:unNom, :unPrenom, :uneNote)";
     
                      $res1 = $connexion->prepare($req1);
     
                      $res1->execute(array(':unNom'=>$nom, 
                                           ':unPrenom'=>$prenom, 
                                           ':uneNote'=>$note));
      if ($connexion->prepare($req1)==true):
                        ?>
                          <div class="alert alert-success">
                              <p><strong>Votre free a été créé !</strong></p>
                              <p>Vous avez ajouté le free : <strong><?php echo $nom;?></strong> !</p>
                          </div>
                        <?php
                      else:
                        ?>
                          <div class="alert alert-danger">
                              <p><strong>Un problème est survenu lors de l'enregistrement du free.</strong></p> 
                              <p>Vérifiez votre saisie et réessayez. Je vous remercie.</p>
                          </div>
                        <?php
                      endif;
                    endif;
                ?>
     
                <div class="form-group">
                  <label for="name">Nom du free<span class="help-required"></span></label>
                  <input type="text" name="nom" id="nom" value="" class="form-control required" role="input" aria-required="true" />        
                </div>
     
                <div class="form-group">
                  <label for="name">Prénom</label>
                  <input type="text" name="prenom" id="prenom" value="" class="form-control" role="input" />  
                </div>
     
    			<div class="form-group">
    				<label for="name">Note</label>
            <div class="row">
              <div class="col-md-6 col-md-push-3">
    <div id="note" name="cls"></div>
    <div id="notechoisie"></div>
              </div>
            </div>
    </div>	
                <div class="actions">
                  <input type="submit" value="Créer le free" name="submit" id="submitButton" class="btn btn-primary" title="Cliquez ici pour créer!" />
                  <input type="reset" value="Effacer le formulaire" class="btn btn-danger" title="Retirez toutes les données du formulaire." />
                </div>
              </fieldset>

  10. #30
    Invité
    Invité(e)
    Par défaut
    ... Bon...
    AJAX n'EST PAS la solution dans ton cas...
    Ce qu'on ne pouvait pas deviné, vu que tu n'as pas jugé utile de nous donner le contexte...

    DANS TON CAS : il faut remplir un <input type="hidden" .../> avec la VALEUR (note).

    Code js : 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
    onload = function(){
      init();
    };
    // --------------
    var StarOutSrc = 'images/starOut.png';
    var StarOnSrc = 'images/starOver.png';
    var n = 5;
    // --------------
    function init(){
    	var html = '';
    	for (i=0; i<n; i++){
    		id = i+1;
    		html += '<img src="'+StarOutSrc+'" ';
    		html += 'id="star" value="off" ';
    		html += 'onMouseOver="over('+id+');" ';
    		html += 'onMouseOut="out('+id+');" ';
    		html += 'onClick="on('+id+')"/></a>'
    	}
    	document.getElementById("note").innerHTML = html;
    }
    // --------------
    function over(nb){
    	elemClassement = document.getElementById("note");
    	tabImg = elemClassement.getElementsByTagName("img");
     
    	if (nb > 0){
    		for (i=0; i<nb; i++){
    			tabImg[i].src = StarOnSrc;
    		}
    	}
    	for (i=nb; i<n; i++){
    		tabImg[i].src = StarOutSrc;
    	}
    }
    // --------------
    function out(nb){
      elemClassement = document.getElementById("note");
      tabImg = elemClassement.getElementsByTagName("img");
     
      for (i=0; i<nb; i++){
        tabImg[i].src = StarOutSrc;
      }
      for (i=0; i<n; i++){
        if (tabImg[i].value == "on")
           tabImg[i].src = StarOnSrc;
        }
      }
    // --------------
    function on(nb){
      elemClassement = document.getElementById("note");
      tabImg = elemClassement.getElementsByTagName("img");
     
      for (i=0; i<nb; i++){
        tabImg[i].src = StarOnSrc;
        tabImg[i].value="on";
      }
      for (i=nb; i<n; i++){
        tabImg[i].src = StarOutSrc;
        tabImg[i].value = "off";
      }
      // ICI, on rempli l'input hidden avec la valeur
      document.getElementById('notehidden').value = nb;
    }
    // --------------
    Et ajoute :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" id="notehidden" name="note" value=""/>
    <div id="note" name="cls"></div>

  11. #31
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Et je peut donc supprimer quoi dans ce que tu m'a donnée?

  12. #32
    Invité
    Invité(e)
    Par défaut
    Il suffit de copier-coller mon code ci-dessus.

    Et tu peux TOUT METTRE DANS LE MEME FICHIER

    N.B. Remplace :
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $note = $_POST['note'];

  13. #33
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    J'ai donc ceci:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div class="form-group">
    	<label for="name">Note</label>
            <div class="row">
              <div class="col-md-6 col-md-push-3">
    <div id="note" name="cls"></div>
    <input type="hidden" id="notehidden" name="note" value=""/>
              </div>
            </div>
    </div>

    il me dit qui ne connait ma variable notehidden

  14. #34
    Invité
    Invité(e)
    Par défaut
    J'abandonne....

  15. #35
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    C'est bon, j'ai réussi!
    Maintenant je vais chercher pour récup ma note dans la bd (sa c'est un select) et pour l'afficher avec les étoile.
    Si j'ai 4, je veut 4 étoiles en jaune

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [2.x] Système de notation "étoile"
    Par caema dans le forum Symfony
    Réponses: 0
    Dernier message: 03/05/2014, 18h26
  2. [AJAX] Système de notation et calcul moyenne
    Par Pelote2012 dans le forum jQuery
    Réponses: 13
    Dernier message: 30/05/2013, 12h52
  3. Système de notation
    Par Royade dans le forum jQuery
    Réponses: 4
    Dernier message: 18/12/2012, 20h33
  4. Créer un système de notation avec des étoiles
    Par babafredo dans le forum ASP
    Réponses: 2
    Dernier message: 02/04/2008, 15h06

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