Php: Fatal error: Unsupported operand types

Résolu
bonjour,

voila le topo,

j'ai créer des balises radios qui permettent de choisir une note

ensuite j'ai créer le code php mais celui-ci bloque à l'avant dernière ligne, pouvez vous m'expliquer ce qui va pas:

if (isset($_POST['notes']))
{
$notes = $_POST['notes'];
mysql_query("INSERT INTO livreor VALUES('','','', '" . $notes . "')");
}

$nbr = mysql_query('SELECT COUNT(*) AS notes FROM livreor'); //récupère tous les notes
$tab = mysql_fetch_array($nbr); //mettre sous forme de tableau
$totalDesnotes = $tab['notes'];
$moyenne = ceil($tab / $totalDesnotes); //erreur: Unsupported operand types pour faire la moyenne des notes

echo "( $moyenne ) ";

je vous remercie d'avance
Configuration: Windows Vista
Firefox 3.0.5

1 réponse

  1. Webmaster
    Bonsoir,

    ce qui ne va pas, c'est que tu tente de diviser un tableau par un nombre...
    $tab vaut: array('notes'=> [nombre d'enregistrement dans la table livreor])
    1. Merci pour ta réponse,

      mais je galère, oui je viens de commencer le php!!!

      quel est la bonne écrire pour $moyenne=?

      merci
    2. Webmaster
      @bulittBen...
      pour calculer une moyenne, il te faut la somme des notes, et le nombre de notes...
      somme/nombre=moyenne... la en l'occurence, ta requete SQL ne te renvoi que le nombre de notes ;-)

      Tu peux fair une requête avec SUM(colonne_de_note) pour récuperer la somme
      SELECT SUM(note) as sum, COUNT(1) as nb FROM livreor


      Dans ce cas la, il faudra diviser $tab['sum'] par $tab['nb']

      Mais les solutions sont diverses et ton problème ne vient pas de PHP, mais de la façon de calculer la moyenne (algo) ou de ta compréhension du requetage en base de données (SQL)

      Bonne nuit!
    3. Webmaster
      @asevereComme quoi, il était temps que j'aille me coucher...

      Le plus simple serait de faire calculer la moyenne par mysql directement...
      SELECT AVG(note) as moyenne as nb FROM livreor

      Là, plus de calcul a faire, c'est mysql qui le fait pour toi...

      $tab['moyenne'] contient la moyenne calculée :)

      Je retourne dans mon lit!