Probleme PHP/MySQL

Fermé
grandeone1 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Dernière intervention 8 juin 2009 - 3 mars 2008 à 19:37
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 - 3 mars 2008 à 19:46
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 lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
3 mars 2008 à 19:46
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

Discussions similaires