Bonjour,

Mon niveau SQL est limité et je suis confronté à ce pb :

Je me connecte à une première base de données pour calculer la moyenne des notes :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
// Connexion puis :
$query1 = mysql_query("SELECT AVG(rating) FROM table1");
$result1 = mysql_fetch_assoc($query1);
$average_rating = round($result1["AVG(rating)"]/0.5)*0.5;

J'ai plusieurs enregistrements dans la table.
rating est de type TINYINT 1
Un echo me donne 3.5 par exemple.

Je me connecte à une deuxième base de données pour y copier cette valeur :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
// Connexion puis :
mysql_query("UPDATE table2 SET note = '$average_rating'");

Lorsque je récupère le champs note de table 2 par :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$sql = "SELECT * FROM table2";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);

Un echo $data['note'] me donne 4 ! (toujours dans le cas où j'avais 3.5 pour $average_rating)
note est de type TINYINT 1

Je préfèrerais avoir 3.5 ! Comment ce fait-il que ma donnée soit arrondie ?
J'ai regardé du côté des type; voici ce que cela me retourne (mais je ne sais pas exploiter cette info)
echo gettype($data['note']) retourne string
echo gettype($average_rating) retourne double

Pouvez-vous m'aider ?