Valeur par défaut dans MYSQL

Résolu
benjinancy Messages postés 20 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 3 octobre 2006 - 29 août 2005 à 23:56
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre 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

9 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
30 août 2005 à 12:18
^^ 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 !
3
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
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
0
benjinancy Messages postés 20 Date d'inscription lundi 14 mars 2005 Statut Membre Derniè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...

Je suis sur que c'est tout con, mais...
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
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)

à+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
30 août 2005 à 01:57
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....
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
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 !
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
30 août 2005 à 02:24
ha ha, toi aussi tu lis trop vite jojo: regarde la nature du champ `nbvote` lol
0
benjinancy Messages postés 20 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 3 octobre 2006
31 août 2005 à 00:20
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 !!!!!!

;-)
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 11:06
Lol,

arrête je vais rougir ...

<hr>Si ma reponse te convient, merci de l'accepter !
0
Rejoignez-nous