Récupérer une variable dans la base de donnée
Résolu/Fermé
cs_lerenardduweb
Messages postés
8
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
2 décembre 2017
-
28 mars 2014 à 19:02
cs_lerenardduweb - 30 mars 2014 à 11:31
cs_lerenardduweb - 30 mars 2014 à 11:31
A voir également:
- Récupérer une variable dans la base de donnée
- Recuperer message whatsapp supprimé - Guide
- Recuperer video youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
- Comment récupérer un compte facebook piraté - Guide
11 réponses
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
28 mars 2014 à 19:05
28 mars 2014 à 19:05
Bonjour,
La base de données est une base de données mysql?
La base de données est une base de données mysql?
cs_lerenardduweb
Messages postés
8
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
2 décembre 2017
28 mars 2014 à 19:19
28 mars 2014 à 19:19
Bonsoir Anonyme209,
Oui Mysql, j'ai oublié de le préciser.
Oui Mysql, j'ai oublié de le préciser.
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
28 mars 2014 à 19:29
28 mars 2014 à 19:29
Déjà, il faut se connecter à la base de données. Code php:
Ensuite, pour récupérer une variable dans une table, c'est ce code:
mysql_connect("hostname", "identifiant", "motdepasse"); mysql_select_db("nomdelabasededonnees");
Ensuite, pour récupérer une variable dans une table, c'est ce code:
$nouvellevariablephp = mysql_query("SELECT variable FROM table");
C'est ce que je fais, mais ça ne fonctionne pas.
Voici le php de la fonction, en entier sauf les info sur la db.
Voici le php de la fonction, en entier sauf les info sur la db.
//Fonction pour l'ip
function getIp()
{
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip_vote = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip_vote = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip_vote = $_SERVER['REMOTE_ADDR'];
}
return $ip_vote;
}
//Ip utilisateur
$ip_vote = getIp();
//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());
$topic_id = mysql_query("SELECT topic_id FROM cuisine_topics");
//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.';
}
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
29 mars 2014 à 12:16
29 mars 2014 à 12:16
Regarde directement dans la base de données pour voir si les données sont bien enregistrées. Pour récupérer l'ip d'un visiteur, tu n'as pas besoin de passer par cette fonction:
Seul ce petit bout de code suffit
function getIp() { if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip_vote = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif(isset($_SERVER['HTTP_CLIENT_IP'])) { $ip_vote = $_SERVER['HTTP_CLIENT_IP']; } else { $ip_vote = $_SERVER['REMOTE_ADDR']; } return $ip_vote; }
Seul ce petit bout de code suffit
$ip_vote = $_SERVER['REMOTE_ADDR'];
cs_lerenardduweb
Messages postés
8
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
2 décembre 2017
Modifié par cs_lerenardduweb le 29/03/2014 à 15:36
Modifié par cs_lerenardduweb le 29/03/2014 à 15:36
Merci pour le bout de code ;-)
Elles ne risquent pas d'être enregistrées puisque le script ne lit pas la variable, donc il est impossible de voter.
Le système de notation n'apparaît que si une id page existe.
Elles ne risquent pas d'être enregistrées puisque le script ne lit pas la variable, donc il est impossible de voter.
Le système de notation n'apparaît que si une id page existe.
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
29 mars 2014 à 16:41
29 mars 2014 à 16:41
Et ça, ce n'est pas du code qui enregistre les données dans la base de données?:
$insert = mysql_query("INSERT INTO note (id_page, note, ip) VALUES ('$id_vote', '$note', '$ip_vote') ");
cs_lerenardduweb
Messages postés
8
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
2 décembre 2017
29 mars 2014 à 17:02
29 mars 2014 à 17:02
Si mais soit je mets une numéro de page bidon :
Ou soit je choisis ce code :
Et là le système de notation n'apparaît plus, car le premier argument n'est pas correctement renseigné, je ne peux donc plus voter.
<!-- PHP -->Et dans ce cas les 5 étoiles apparaissent et je clique sur clle que je souhaite pour donner une note et ça enregistre.
notation ('28', $ip_vote);
<!-- ENDPHP -->
Ou soit je choisis ce code :
<!-- PHP -->
notation ($topic_id, $ip_vote);
<!-- ENDPHP -->
Et là le système de notation n'apparaît plus, car le premier argument n'est pas correctement renseigné, je ne peux donc plus voter.
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
29 mars 2014 à 17:53
29 mars 2014 à 17:53
A quoi sert
moi pour récupérer des données, j'utilise ça et ça marche très bien:
".mysql_real_escape_string($ipvote)."
mysql_query("SELECT ip FROM note WHERE ip = '".mysql_real_escape_string($ip_vote)."' AND id_page = '".mysql_real_escape_string($id_vote)."'");
moi pour récupérer des données, j'utilise ça et ça marche très bien:
mysql_query("SELECT ip FROM note WHERE ip = \"$ip_vote\" AND id_page = \"$id_vote\"");
Oui je sais, je modifierai le code plus tard (ce n'est pas moi qui l'ai fait), mais pour le moment je cherche surtout à pouvoir récupérer l'ID de ma page généré par une variable phpbb afin de l'utiliser en php.