Probleme PHP/MySQL

grandeone1 Messages postés 11 Statut Membre -  
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je dois faire une partie d'un site sur lequel les visiteurs peuvent voter (juste pour ou contre). Pour cela j'ai créé une table pourcontre dans ma base de données base comme ceci :

CREATE TABLE `base`.`pourcontre` (
`pour` INT NOT NULL ,
`contre` INT NOT NULL
)

Ensuite voici une partie de ma page :

<?php
// Définitions des parametres de connexion...
$serveur = "##########";
$login = "##########";
$pass = "##########";
$base = "base";
// Connexion à la base...
$connexion = mysql_connect($serveur,$login,$pass) or die ("Le Serveur ne répond pas");
$database = mysql_select_db("$base") or die ("Connexion à la base $base impossible");
?>


<form name="vote" method="post" action="">
<input type="image" name="pour" src="a.jpg" class="pour"/>
<input type="image" name="contre" src="b.jpg" class="contre"/>
</form>

<?php

// Envoi des requetes au serveur sur appui des boutons...
if (isset($_POST['pour'])){
$envoi_requete_pour = mysql_query("UPDATE pourcontre SET pour=pour++") or die ("La requete 1 ne peut pas etre executee correctement");
}
if (isset($_POST['contre'])){
$envoi_requete_contre = mysql_query("UPDATE pourcontre SET contre=contre++") or die ("La requete 2 ne peut pas etre executee correctement");
}
?>

<br />

<?php

// Recuperation des résultats
$nb_pour = mysql_query('SELECT pour FROM pourcontre');
$nb_contre = mysql_query('SELECT contre FROM pourcontre');
echo "Résultats des votes :<br>";
//Calcul des pourcentages
$total = "$nb_pour + $nb_contre";
$a = $nb_pour*100;
if ($total != 0){
$pct_pour = $a / $total;
$b = $nb_contre*100;
$pct_contre = $b / $total;
echo "Pour : $pct_pour";
echo "<br>";
echo "Contre : $pct_contre";
}
else {
echo "Pour : 0%";
echo "<br>";
echo "Contre : 0%";
}


// Fermeture de la connexion à la base
$connexion_close = mysql_close($connexion);
?>


Mon problème et que rien ne s'incrémente dans la base, rien ne se passe du tout même mais aucune erreur ne s'affiche sur la page.

J'en appelle a vos compétences car la je commence à m'emmêler les pinceaux et ça va dégénérer.

Merci à tous

Julien
A voir également:

1 réponse

sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
bonjour

l'incrément est mauvais déjà

SET pour=pour++

mets

SET pour=pour+1

et de même pour le contre




sinon pour l'affichage des données :
// Recuperation des résultats
$sql = mysql_query('SELECT pour, contre FROM pourcontre');
$nb = mysql_fetch_array($sql);
$nb_pour = $nb['pour'];
$nb_contre = $nb['contre'];

echo "Résultats des votes :<br>";
//Calcul des pourcentages
$total = "$nb_pour + $nb_contre";
$a = $nb_pour*100;
if ($total != 0){
$pct_pour = $a / $total;
$b = $nb_contre*100;
$pct_contre = $b / $total;
echo "Pour : $pct_pour";
echo "<br>";
echo "Contre : $pct_contre";
}
else {
echo "Pour : 0%";
echo "<br>";
echo "Contre : 0%";
}

0