benjinancy
Messages postés20Date d'inscriptionlundi 14 mars 2005StatutMembreDernière intervention 3 octobre 2006
-
29 août 2005 à 23:56
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 2010
-
31 août 2005 à 11:06
Bonjour, je souhaite mettre un système de vote dans MYSQL, qui vérifie
s'il existe déjà une note ou si ya aucune note (càd le chiffre zero)...
or, je sais pas pourquoi, mais j'ai l'impression qu'il y a aucune
valeur par défaut dans le champ vote dans BDD (aucun zero prédéfini)...
Donc ma condition ne marche pas..
voici mon code :
<?php
$connection = mysql_connect($serveur, $login, $pass) or die ("Erreur de connection a mysql");
$cnx = mysql_select_db($base, $connection) or die ("Erreur de connection a la base de données");
$votants=mysql_query("SELECT `nbvote` FROM `photos` WHERE `noauto`=$numero") or die ("erreur recherche nbvote");
$req=mysql_query("SELECT `vote` FROM `photos` WHERE `noauto`=$numero") or die ("erreur recherche vote");
if ($votants > 0)
{
echo("qd il existe déjà une note au moins");
$final=($req*($votants)+$note)/($votants+1);
$changement=mysql_query("UPDATE `photos` SET `vote`=$final WHERE
`noauto`=$numero") or die ("qd il existe déjà une note : affectation
note");
$nbfinal=($votants+1);
$increment0=mysql_query("UPDATE `photos` SET `nbvote`=$nbfinal
WHERE `noauto`=$numero") or die ("qd il existe déjà une note : nbvote");
echo("vote enregistré");
}
else
{
echo("qd il n'existe pas de note");
$changement0=mysql_query("UPDATE `photos` SET `vote`=$note WHERE
`noauto`=$numero") or die ("qd il n'existe pas de vote : affectation
note");
$increment0=mysql_query("UPDATE `photos` SET `nbvote`="1" WHERE
`noauto`=$numero") or die ("qd il n'existe pas de vote : nbvote=1");
echo("vote enregistré");
}
$cnx =mysql_close();
?>
et voici ma base de données :
|
Champ |
Type |
Interclassement |
Attributs |
Null |
Défaut |
Extra |
Action |
----
,
<label onclick ="return (document.getElementById('checkbox_row_1') ? false : true)" for="checkbox_row_1">dte</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_2') ? false : true)" for="checkbox_row_2">name</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_3') ? false : true)" for="checkbox_row_3">titr</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_4') ? false : true)" for="checkbox_row_4">tem</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_5') ? false : true)" for="checkbox_row_5">lgd</label>,
longtext,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_6') ? false : true)" for="checkbox_row_6">img</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_7') ? false : true)" for="checkbox_row_7">miniimg</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,
,
,
,
,
,
,
----
,
<label onclick="return (document.getElementById('checkbox_row_8') ? false : true)" for="checkbox_row_8">vote</label>,
varchar(11),
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
0,
,
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 30 août 2005 à 00:16
bonsoir,
le pb semble provenir de la façon dont tu enregistres tes résultats,
pas de la façon dont tu consultes la base... donc il nous faut le code
de tes enregistrements
benjinancy
Messages postés20Date d'inscriptionlundi 14 mars 2005StatutMembreDernière intervention 3 octobre 2006 30 août 2005 à 01:29
Ba euh... Le premier prob que j'aimerai bien résoudre, c'est la
récupération de données dans la BDD(et pourtant, je suis pas un novice
et ça marche normalement...).
En fait, je lui demande de récuperer le nombre de votants ainsi que la
note du vote (la moyenne). Je fais donc un select et après, je mets une
structure de condition, et après... il ne sait pas quoi faire vu qu'il
n'a pas réussi à récuperer si la valeur...
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 30 août 2005 à 01:50
ha oui... tu as écrit $votants=mysql_query("SELECT `nbvote` FROM `photos` WHERE `noauto`=$numero") or die ("erreur recherche nbvote");
mais tu sembles considérer après que $votants devrait être un nombre; si c'est ce que tu veux ttu devrais plutôt écrire
$votants=mysql_query("SELECT count (*) FROM `photos` WHERE `noauto`=$numero") or die ("erreur recherche nbvote");
ou quelque chose du genre (revois au niveau de count(*) ),
mais après de tte façon tu oublies d'écrire while ($row mysql_fetch_row($votants)) { <gras>$nombredevotants</gras> $row; } (ou alors mets-le sous forme de tableau si tu ne fais pas un count( ) pour récupérer l'ensemble de tes données).
en espérant que c'était les seuls pbs (je n'ai pas lu en détail)
à+
Vous n’avez pas trouvé la réponse que vous recherchez ?
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 30 août 2005 à 02:16
Hello,
$votants mysql_query( ' SELECT `nbvote` FROM `photos` WHERE `noauto`'. $numero) or die ('Erreur recherche nbvote');
$nombre_de_votes = mysql_num_rows($votants);// Le nombre de votes
<hr>Si ma reponse te convient, merci de l'accepter !