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

EDI, CMS, Outils, Scripts et API PHP Discussion :

fonctionnalité sondage php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #21
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    je crée une nouvelle table id et ip. mais comment je recupere les informations comme id?

    merci

  2. #22
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu le fais déja dans ton code actuel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #23
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    abon? mais comment je declare ca dans le script pour inséré ip dans la nouvelle table?

    je vois pas tres bien la
    merci

  4. #24
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu remplaces l'update que tu nous a montré par un insert dans ta nouvelle table.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #25
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    update me sert à remplacer les valeurs stocké dans les resultats.
    insert me servira à ajouter les adresse ip des utilisateur, comment je peux faire ca? ( c ca je vois pas)

    merci beaucoup

  6. #26
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne vois pas ce qui te bloque.
    Tu as juste a ecrire et executer une requete INSERT des valeurs de l'id du sondage et de l'ip du visiteur dans ta nouvelle table.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #27
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    je vois pas le script a ecrire et la requete , mon probleme?

  8. #28
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu ne sais pas écrire une requête ?
    Le code que tu nous montre n'est pas de toi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #29
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    si le code vient de moi.
    mais la je ne vois pas, merci de m'eclairer de me montrer comment on peut faire?

    merci bcp

  10. #30
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Peux-tu me montrer la structure de ta nouvelle table et ce que tu as déjà ecris pour la requete INSERT ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #31
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    pour INSERT:
    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
     
    $ip = $_SERVER['REMOTE_ADDR'];
    echo("<br />" . $ip . "<br />");
    $query = "SELECT id FROM $table " ;
    //echo("<br />" . $query . "<br />");
    $result = mysql_query($query);
    $num = mysql_num_rows($result);
    if($num)
    {
    if ($infos['question'] != "")
    echo $infos['question'].'<br/>'. "";
    if ($infos['proposition1'] != "")
    echo $infos['proposition1'].'<br/>'. "<input type='radio' name='sondage' value='prop1' id='prop1' /> <label for='prop1'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r1 / 100 * $long_max_bloc . '" alt="'.round($pourcentage_r1).'%" />.' . round($pourcentage_r1) . "% </label><br />";
     
    	if ($infos['proposition2'] != "")
    			       echo $infos['proposition2'].'<br/>'. "<input type='radio' name='sondage' value='prop2' id='prop2' /> <label for='prop2'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r2 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r2).'%" />.' . round($pourcentage_r2) . "% </label><br />";
    if ($infos['proposition3'] != "")
    				       echo $infos['proposition3'].'<br/>'. "<input type='radio' name='sondage' value='prop3' id='prop3' /> <label for='prop3'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r3 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r4).'%" />.' . round($pourcentage_r3) . "% </label><br />";
     
    	if ($infos['proposition4'] != "")
    			       echo $infos['proposition4'].'<br/>'. "<input type='radio' name='sondage' value='prop4' id='prop4' /> <label for='prop4'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r4 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r4).'%" />.' . round($pourcentage_r4) . "% </label><br />";
         if ($infos['proposition5'] != "")
    	 			       echo $infos['proposition5'].'<br/>'. "<input type='radio' name='sondage' value='prop5' id='prop5' /> <label for='prop5'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r5 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r5).'%" />.' . round($pourcentage_r5) . "% </label><br />";
    exit;
    }
     
    //note importante : s'insere toujours dans un nouveau id//
    $sql = "INSERT INTO $table1 (ip) VALUES ('$ip') WHERE id="."'" . $numeroDuSondage['nbre_entrees'] . "'";
    //mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    la table sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE sondage_lang (
    id char(50),
    ip char(50),
    PRIMARY KEY(id)
    );
    merci

  12. #32
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il manque l'id du sondage.

    CREATE TABLE t_vote (
    vote_id int(16) unsigned NOT NULL auto_increment,
    sondage_id int(16) unsigned NOT NULL,
    vote_ip varchar(15) NOT NULL,
    PRIMARY KEY(vote_id)
    );


    Ca va donner par exemple pour deux votants sur le sondage 12
    vote_id - sondage_id - vote_ip
    1 - 12 - 143.54.12.17
    2 - 12 - 15.54.17.17
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #33
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    si qqn pouvais m'eclaircir sur le script a modifié:
    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
     
     
    $ip = $_SERVER['REMOTE_ADDR'];
    echo("<br />" . $ip . "<br />");
    $query = "SELECT id FROM $table " ;
    //echo("<br />" . $query . "<br />");
    $result = mysql_query($query);
    $num = mysql_num_rows($result);
    if($num)
    {
    if ($infos['question'] != "")
    echo $infos['question'].'<br/>'. "";
    if ($infos['proposition1'] != "")
    echo $infos['proposition1'].'<br/>'. "<input type='radio' name='sondage' value='prop1' id='prop1' /> <label for='prop1'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r1 / 100 * $long_max_bloc . '" alt="'.round($pourcentage_r1).'%" />.' . round($pourcentage_r1) . "% </label><br />";
     
    	if ($infos['proposition2'] != "")
    			       echo $infos['proposition2'].'<br/>'. "<input type='radio' name='sondage' value='prop2' id='prop2' /> <label for='prop2'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r2 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r2).'%" />.' . round($pourcentage_r2) . "% </label><br />";
    if ($infos['proposition3'] != "")
    				       echo $infos['proposition3'].'<br/>'. "<input type='radio' name='sondage' value='prop3' id='prop3' /> <label for='prop3'>" .'<img src="copper.jpg" height="10"width="' . $pourcentage_r3 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r4).'%" />.' . round($pourcentage_r3) . "% </label><br />";
     
    	if ($infos['proposition4'] != "")
    			       echo $infos['proposition4'].'<br/>'. "<input type='radio' name='sondage' value='prop4' id='prop4' /> <label for='prop4'>" .'<img src="black.jpg" height="10"width="' . $pourcentage_r4 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r4).'%" />.' . round($pourcentage_r4) . "% </label><br />";
         if ($infos['proposition5'] != "")
    	 			       echo $infos['proposition5'].'<br/>'. "<input type='radio' name='sondage' value='prop5' id='prop5' /> <label for='prop5'>" .'<img src="blue.jpg" height="10"width="' . $pourcentage_r5 / 100 * $long_max_bloc . '"
            alt="'.round($pourcentage_r5).'%" />.' . round($pourcentage_r5) . "% </label><br />";
    exit;
    }
     
    //note importante : s'insere toujours dans un nouveau id//
    $sql = "INSERT INTO $table1 (ip) VALUES ('$ip') WHERE id="."'" . $numeroDuSondage['nbre_entrees'] . "'";
    mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    afin de limité une ip par sondage

  14. #34
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    As-tu modifier la base que je te l'ai indiqué ?

    Si oui il faut que tu mettes mettes les deux champs dans ton INSERT et pas seulement l'ip.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #35
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    merci pour la réponse,

    j'ai ajouté la nouvelle table t_vote

    voici le script qui ne marche pas avec moi:
    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
     
    //script pour ajouter les votes et ip
    $ip = $_SERVER['REMOTE_ADDR'];
    $prop = "prop";
    $resultat = "resultats";
    $fin = false;
    if(isset($_POST['sondage']))
    {
    	for($i = 1; $i <= 5 && !$fin; $i++)
    	{
    		if($_POST['sondage'] == $prop . $i)
    		{
    			$votes[$resultat . $i] ++;
    			mysql_query("UPDATE sondage SET  " . $resultat . $i ." = '" . $votes[$resultat . $i] . "' WHERE id = '" . $numeroDuSondage['nbre_entrees'] . "'") or die(mysql_error());
    			$fin = true;
    		}
    	}
    }
    $vote_ip = $_SERVER['REMOTE_ADDR'];
    $sondage_id = $numeroDuSondage;
    $sql = "INSERT INTO $table1 (sondage_id, vote_ip) VALUES ('$vote_ip, $sondage_id') WHERE sondage_id="."'" . $numeroDuSondage['nbre_entrees'] . "'";
    mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    comment faire? please

  16. #36
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    j'ai ajouté la nouvelle table t_vote.

    voici le script pour insert:
    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
     
    //On prend l'id le plus grand
    $nombreEntrees = mysql_query("SELECT MAX(id) AS nbre_entrees FROM sondage") or die(mysql_error());
    $numeroDuSondage = mysql_fetch_assoc($nombreEntrees);
    //On sélectionne la question et les choix
    $req="SELECT question, proposition1, proposition2, proposition3, proposition4, proposition5 FROM sondage WHERE id = '" . $numeroDuSondage['nbre_entrees'] . "' ";
    $MySQL_infos = mysql_query($req) or die(mysql_error());
    $infos = mysql_fetch_array($MySQL_infos);
    //On sélectionne le nombre de votes
    $MySQL_votes = mysql_query("SELECT resultats1, resultats2, resultats3,resultats4,resultats5 FROM sondage WHERE id = '" . $numeroDuSondage['nbre_entrees'] . "'") or die(mysql_error());
    $votes = mysql_fetch_assoc($MySQL_votes);
    //script pour ajouter les votes
     
    //script pour ajouter les votes et ip
    $ip = $_SERVER['REMOTE_ADDR'];
    $prop = "prop";
    $resultat = "resultats";
    $fin = false;
    if(isset($_POST['sondage']))
    {
    	for($i = 1; $i <= 5 && !$fin; $i++)
    	{
    		if($_POST['sondage'] == $prop . $i)
    		{
    			$votes[$resultat . $i] ++;
    			mysql_query("UPDATE sondage SET  " . $resultat . $i ." = '" . $votes[$resultat . $i] . "' WHERE id = '" . $numeroDuSondage['nbre_entrees'] . "'") or die(mysql_error());
    			$fin = true;
    		}
    	}
    }
    $vote_ip = $_SERVER['REMOTE_ADDR'];
    $sondage_id = $numeroDuSondage;
    $sql = "INSERT INTO $table1 (sondage_id, vote_ip) VALUES ('$vote_ip, $sondage_id') WHERE sondage_id="."'" . $numeroDuSondage['nbre_entrees'] . "'";
    mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    ne marche pas, quel est le script pour recuperer id et inserer dans la table id et ip.
    merci

  17. #37
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu n'as pas donné de valeur à la variable $vote_ip que tu as mis dans la requete.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #38
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    $vote_ip = $_SERVER['REMOTE_ADDR'];

    ca recupere adresse ip, ensuite dans insert.
    comment faire d'autre, que faut-il mettre?

  19. #39
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ah oui tiens je l'avais raté.

    Par contre enlève la condition WHERE.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #40
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    ce qui me donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $vote_ip = $_SERVER['REMOTE_ADDR'];
    $sondage_id = $numeroDuSondage['nbre_entrees'];
    $sql = "INSERT INTO $table1 (sondage_id, vote_ip) VALUES ('$sondage_id, $vote_ip')  ";
    mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    Erreur SQL !
    INSERT INTO t_vote (sondage_id, vote_ip) VALUES ('Array, 127.0.0.1')
    Column count doesn't match value count at row 1

    que faut-il faire?

    merci

Discussions similaires

  1. Mise en place de sondage PHP
    Par ellolerron dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 08/03/2015, 00h18
  2. sondage php, probleme actualisation
    Par samspitz dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 21
    Dernier message: 04/12/2008, 12h58
  3. Sondage site de jeu Php
    Par webinfo dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 11/10/2008, 16h31
  4. Sondage : Fonctionnalités attendues
    Par satchmo dans le forum W4 Express
    Réponses: 30
    Dernier message: 19/09/2007, 12h02

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