Bonjour,

J'utilise un petit script pour voter sur mon site :

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
//Connexion à la base de données
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
//Vérification d'accès à la base de données
mysql_select_db("$nom_de_la_base")  or die ('Erreur :'.mysql_error());
 
 
//Fonction pour la notation
function notation($id_vote,$ip_vote){
 
    //L'utilisateur a t'il déja voté?
    $deja_voter = mysql_query("SELECT ip FROM note WHERE ip = '".mysql_real_escape_string($ip_vote)."' AND id_page = '".mysql_real_escape_string($id_vote)."'");
 
    //L'utilisateur n'a pas voté, on montre le formulaire
    if(mysql_num_rows($deja_voter) == 0)
    {
        echo '     <form name="monform" id="monform" method="post">     <label>Noter cet article</label>     <select name="note" onchange="javascript:submit(this)">     <option value="">Note</option>     <option value="0">0</option>        <option value="1">1</option>     <option value="2">2</option>     <option value="3">3</option>     <option value="4">4</option>     <option value="5">5</option>     </select>     </form>     ';
    }   
 
    //Si action de valider et que la note est différent de vide
    if(isset($_POST['note']) && $_POST['note'] != NULL){
        //On vérifie si le cookie existe et si tel est le cas, c'est que l'utilisateur tente de voter plusieurs fois
        if(isset($_COOKIE["deja_voter"]) && $_COOKIE["deja_voter"] == $id_vote){
            die ("Un seul vote autorisé ... merci!"); }		
 
		        //Note de l'utilisateur
        $note = $_POST['note'];
               //Insertion en BDD
        $insert = mysql_query("INSERT INTO note (id_page, note, ip) VALUES ('$id_vote', '$note', '$ip_vote') ");
 
        //Si il y a une erreur
        if(!$insert) {
            die('Requête invalide : ' . mysql_error());
        }
        //Tout est ok, on informe et on redirige
        else{
 
            echo 'Merci d\'avoir note cet article! <br/>         Chargement en cours <img alt="Loading" src="images/images-vote/loading.gif" style="width:32px;height:32px;"/>           <script type="text/javascript">                 document.getElementById("monform").innerHTML = "";         window.setTimeout(function(){self.location.href="'.$_SERVER['REQUEST_URI'].'";},3000);         </script>';
 
        }
    }
 
    //Combien d'utilisateurs ont votés?
    $nombre_vote = mysql_query("SELECT id FROM note WHERE id_page = '".mysql_real_escape_string($id_vote)."'");
    $total_vote = mysql_num_rows($nombre_vote);
    if($total_vote != 0){
        echo '<span class="review hreview-aggregate">Nombre de vote : <span class="count">'.$total_vote.'</span><br/>';
 
    }
 
    //Total des votes des utilisateurs
    $calcul_vote = mysql_query("SELECT SUM(note) AS totalmoyenne FROM note WHERE id_page = '".mysql_real_escape_string($id_vote)."'");
    $data = mysql_fetch_array($calcul_vote);
    $total_calcul_vote = $data['totalmoyenne'];
    if($total_calcul_vote != 0){
        echo 'Total des votes : <span class="rating">'.$total_calcul_vote.'</span></span><br/>';   
    }
 
    //Moyenne des votes des utilisateurs
    if($total_vote != NULL && $total_calcul_vote != NULL){
        $moyenne = number_format($total_calcul_vote/$total_vote, 2, ',', '');
        //Si les 2 chiffres après la virgule sont 2 zéros, on les suppriment pour obtenir un entier
        echo 'Note : '.str_replace(',00','',$moyenne).'/5';
        //On affiche les étoiles
        for($i=1; $i<=$moyenne;$i++){
            echo '<img alt="'.$i.'" src="images/images-vote/etoile.png" style="width:32px;height:32px;"/>';
        }
    }
    else{
        echo 'Aucun vote pour le moment.';
    }
}
?>
Seulement l'argument dans la page HTML est à rensigner manuellement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
notation ('5', $ip_vote);
pour page 5.

Je n'arrive pas à trouver le moyen pour que les id de mes posts existants dans la table "table_topics" (topic_id) de ma base de données soit récupéré par une variable du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
notation ($variable, $ip_vote);
En fait ma difficulté et d'aller chercher des infos dans une table A (table_topic) pour les collecter ensuite dans une table B (note).

Un peu d'explication pourrait m'aider.

Merci