Valeur par défaut dans MYSQL [Résolu]

Messages postés
20
Date d'inscription
lundi 14 mars 2005
Dernière intervention
3 octobre 2006
- - Dernière réponse : JoJo738
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 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,
,

,

,

,

,

,

,

----

,
<label onclick="return (document.getElementById('checkbox_row_9') ? false : true)" for="checkbox_row_9">nbvote</label>,
int(11),
,
,
Non,
0,
,

,

,

,

,

,

,

----

,
<label onclick="return (document.getElementById('checkbox_row_10') ? false : true)" for="checkbox_row_10">nbcoment</label>,
int(11),
,
,
Oui,
0,
,

,

,

,

,

,

,

----

,
<label onclick="return (document.getElementById('checkbox_row_11') ? false : true)" for="checkbox_row_11">comment</label>,
text,
<dfn title="Europe de l'ouest (multilingue), insensible à la casse">latin1_general_ci</dfn>,
,
Non,
,
,

,

,
,
,
,

,

----

,
<label onclick="return (document.getElementById('checkbox_row_12') ? false : true)" for="checkbox_row_12">noauto</label>,
int(11),
,
,
Non,
,
auto_increment,

,

,

,

,

,








SVP, si vous trouvez quelque chose de louche, dite le moi, ça m'enerve, là!!!





Merci d'avance
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
2
3
Merci
^^ lol



$votants mysql_query( ' SELECT `nbvote` FROM `photos` WHERE `noauto`' . $numero) or die ('Erreur recherche nbvote');
$nbvote = mysql_result($votants, 0);
// $nbvote = mysql_result($votants, 0, 'nbvote'); // Si besoin



<hr>Si ma reponse te convient, merci de l'accepter !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de JoJo738
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
3
0
Merci
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
Commenter la réponse de Evangun
Messages postés
20
Date d'inscription
lundi 14 mars 2005
Dernière intervention
3 octobre 2006
0
Merci
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...

Je suis sur que c'est tout con, mais...
Commenter la réponse de benjinancy
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
3
0
Merci
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)

à+
Commenter la réponse de Evangun
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
3
0
Merci
il fallait lire while ($row = mysql_fetch_row($votants)) { $nombredevotants = $row[0]; }



et effectivement $votants est un nombre, mes excuses, je parle souvent trop vite....
Commenter la réponse de Evangun
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
2
0
Merci
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 !
Commenter la réponse de JoJo738
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
3
0
Merci
ha ha, toi aussi tu lis trop vite jojo: regarde la nature du champ `nbvote` lol
Commenter la réponse de Evangun
Messages postés
20
Date d'inscription
lundi 14 mars 2005
Dernière intervention
3 octobre 2006
0
Merci
Merci Jojo!!!!!

J'avoue que mon probleme paraissait très vague, mais grace à ta dernière portion de code, tout marche à merveille!!!!!!

Longue vie à Jojo !!!!!!

;-)
Commenter la réponse de benjinancy
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
2
0
Merci
Lol,

arrête je vais rougir ...

<hr>Si ma reponse te convient, merci de l'accepter !
Commenter la réponse de JoJo738

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.