Bonjour, je suis un débutante, j'essaie de créer un code dont l'objectif est de calculer la corrélation entre les utilisateurs pour leur proposer une recommandation.
J'ai un csv avec 45 personnes(colonnes) qui ont répondu à 20 questions(lignes). J'ai fait les calculs et ça marche bien. Cependant, j'ai des problèmes pour imprimer ce tableau dans MAMP. Je n'arrive pas à identifier le problème ; si je charge un csv avec seulement 20 utilisateurs, le code fonctionne bien.
Vous avez des suggestions ? Vous trouverez le code complet ci-dessous. Merci.
Modifié par _laurent (16 Dec 2021 - 11:12)
J'ai un csv avec 45 personnes(colonnes) qui ont répondu à 20 questions(lignes). J'ai fait les calculs et ça marche bien. Cependant, j'ai des problèmes pour imprimer ce tableau dans MAMP. Je n'arrive pas à identifier le problème ; si je charge un csv avec seulement 20 utilisateurs, le code fonctionne bien.
Vous avez des suggestions ? Vous trouverez le code complet ci-dessous. Merci.
<!DOCTYPE html>
<html lang="PT-BR">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="./style.css">
<title>:: Coefficient de corrélation ::</title>
</head>
<body>
<?php
set_time_limit(0);
$handle = fopen("dados.csv", "r");
//------------------------------------Variaveis
$_colonne_matrice_1 = array();
$_colonne_matrice_2 = array();
$_colonne_matrice_3 = array();
$_colonne_matrice_4 = array();
$_colonne_matrice_5 = array();
$_colonne_matrice_6 = array();
$_colonne_matrice_7 = array();
$_colonne_matrice_8 = array();
$_colonne_matrice_9 = array();
$_colonne_matrice_10 = array();
$_colonne_matrice_11 = array();
$_colonne_matrice_12 = array();
$_colonne_matrice_13 = array();
$_colonne_matrice_14 = array();
$_colonne_matrice_15 = array();
$_colonne_matrice_16 = array();
$_colonne_matrice_17 = array();
$_colonne_matrice_18 = array();
$_colonne_matrice_19 = array();
$_colonne_matrice_20 = array();
$_colonne_matrice_21 = array();
$_colonne_matrice_22 = array();
$_colonne_matrice_23 = array();
$_colonne_matrice_24 = array();
$_colonne_matrice_25 = array();
$_colonne_matrice_26 = array();
$_colonne_matrice_27 = array();
$_colonne_matrice_28 = array();
$_colonne_matrice_29 = array();
$_colonne_matrice_30 = array();
$_colonne_matrice_31 = array();
$_colonne_matrice_32 = array();
$_colonne_matrice_33 = array();
$_colonne_matrice_34 = array();
$_colonne_matrice_35 = array();
$_colonne_matrice_36 = array();
$_colonne_matrice_37 = array();
$_colonne_matrice_38 = array();
$_colonne_matrice_39 = array();
$_colonne_matrice_40 = array();
$_colonne_matrice_41 = array();
$_colonne_matrice_42 = array();
$_colonne_matrice_43 = array();
$_colonne_matrice_44 = array();
$_colonne_matrice_45 = array();
$_colonne_1 = 0;
$_colonne_2 = 0;
$_colonne_3 = 0;
$_colonne_4 = 0;
$_colonne_5 = 0;
$_colonne_6 = 0;
$_colonne_7 = 0;
$_colonne_8 = 0;
$_colonne_9 = 0;
$_colonne_10 = 0;
$_colonne_11 = 0;
$_colonne_12 = 0;
$_colonne_13 = 0;
$_colonne_14 = 0;
$_colonne_15 = 0;
$_colonne_16 = 0;
$_colonne_17 = 0;
$_colonne_18 = 0;
$_colonne_19 = 0;
$_colonne_20 = 0;
$_colonne_21 = 0;
$_colonne_22 = 0;
$_colonne_23 = 0;
$_colonne_24 = 0;
$_colonne_25 = 0;
$_colonne_26 = 0;
$_colonne_27 = 0;
$_colonne_28 = 0;
$_colonne_29 = 0;
$_colonne_30 = 0;
$_colonne_31 = 0;
$_colonne_32 = 0;
$_colonne_33 = 0;
$_colonne_34 = 0;
$_colonne_35 = 0;
$_colonne_36 = 0;
$_colonne_37 = 0;
$_colonne_38 = 0;
$_colonne_39 = 0;
$_colonne_40 = 0;
$_colonne_41 = 0;
$_colonne_42 = 0;
$_colonne_43 = 0;
$_colonne_44 = 0;
$_colonne_45 = 0;
$sommeT = 0;
$sommeQ = 0;
$sommeQQ = 0;
$sommeQ2 = 0;
$d = 0;
$m = array();
$m0 = array();
$m1 = array();
$m2 = array();
$row = 0;
//-------------------------------Fin des variables
//-------------------------------Manipulation du csv
while ($cols = fgetcsv($handle, 0, ";"))
{
if ($row++ < 1)
{
continue;
}
//--------------------------------somme de chaque colonne
$_colonne_1 += $cols[1];
$_colonne_2 += $cols[2];
$_colonne_3 += $cols[3];
$_colonne_4 += $cols[4];
$_colonne_5 += $cols[5];
$_colonne_6 += $cols[6];
$_colonne_7 += $cols[7];
$_colonne_8 += $cols[8];
$_colonne_9 += $cols[9];
$_colonne_10 += $cols[10];
$_colonne_11 += $cols[11];
$_colonne_12 += $cols[12];
$_colonne_13 += $cols[13];
$_colonne_14 += $cols[14];
$_colonne_15 += $cols[15];
$_colonne_16 += $cols[16];
$_colonne_17 += $cols[17];
$_colonne_18 += $cols[18];
$_colonne_19 += $cols[19];
$_colonne_20 += $cols[20];
$_colonne_21 += $cols[21];
$_colonne_22 += $cols[22];
$_colonne_23 += $cols[23];
$_colonne_24 += $cols[24];
$_colonne_25 += $cols[25];
$_colonne_26 += $cols[26];
$_colonne_27 += $cols[27];
$_colonne_28 += $cols[28];
$_colonne_29 += $cols[29];
$_colonne_30 += $cols[30];
$_colonne_31 += $cols[31];
$_colonne_32 += $cols[32];
$_colonne_33 += $cols[33];
$_colonne_34 += $cols[34];
$_colonne_35 += $cols[35];
$_colonne_36 += $cols[36];
$_colonne_37 += $cols[37];
$_colonne_38 += $cols[38];
$_colonne_39 += $cols[39];
$_colonne_40 += $cols[40];
$_colonne_41 += $cols[41];
$_colonne_42 += $cols[42];
$_colonne_43 += $cols[43];
$_colonne_44 += $cols[44];
$_colonne_45 += $cols[45];
//----------------------matrice - conserve les valeurs lues dans les "colonnes"
$_colonne_matrice_1[] = $cols[1];
$_colonne_matrice_2[] = $cols[2];
$_colonne_matrice_3[] = $cols[3];
$_colonne_matrice_4[] = $cols[4];
$_colonne_matrice_5[] = $cols[5];
$_colonne_matrice_6[] = $cols[6];
$_colonne_matrice_7[] = $cols[7];
$_colonne_matrice_8[] = $cols[8];
$_colonne_matrice_9[] = $cols[9];
$_colonne_matrice_10[] = $cols[10];
$_colonne_matrice_11[] = $cols[11];
$_colonne_matrice_12[] = $cols[12];
$_colonne_matrice_13[] = $cols[13];
$_colonne_matrice_14[] = $cols[14];
$_colonne_matrice_15[] = $cols[15];
$_colonne_matrice_16[] = $cols[16];
$_colonne_matrice_17[] = $cols[17];
$_colonne_matrice_18[] = $cols[18];
$_colonne_matrice_19[] = $cols[19];
$_colonne_matrice_20[] = $cols[20];
$_colonne_matrice_21[] = $cols[21];
$_colonne_matrice_22[] = $cols[22];
$_colonne_matrice_23[] = $cols[23];
$_colonne_matrice_24[] = $cols[24];
$_colonne_matrice_25[] = $cols[25];
$_colonne_matrice_26[] = $cols[26];
$_colonne_matrice_27[] = $cols[27];
$_colonne_matrice_28[] = $cols[28];
$_colonne_matrice_29[] = $cols[29];
$_colonne_matrice_30[] = $cols[30];
$_colonne_matrice_31[] = $cols[31];
$_colonne_matrice_32[] = $cols[32];
$_colonne_matrice_33[] = $cols[33];
$_colonne_matrice_34[] = $cols[34];
$_colonne_matrice_35[] = $cols[35];
$_colonne_matrice_36[] = $cols[36];
$_colonne_matrice_37[] = $cols[37];
$_colonne_matrice_38[] = $cols[38];
$_colonne_matrice_39[] = $cols[39];
$_colonne_matrice_40[] = $cols[40];
$_colonne_matrice_41[] = $cols[41];
$_colonne_matrice_42[] = $cols[42];
$_colonne_matrice_43[] = $cols[43];
$_colonne_matrice_44[] = $cols[44];
$_colonne_matrice_45[] = $cols[45];
}
$diviseurArithmetique = $row - 1;
//---------------------------------------------------moyennes
$_moyenne_colonne_1 = $_colonne_1 / $diviseurArithmetique;
$_moyenne_colonne_2 = $_colonne_2 / $diviseurArithmetique;
$_moyenne_colonne_3 = $_colonne_3 / $diviseurArithmetique;
$_moyenne_colonne_4 = $_colonne_4 / $diviseurArithmetique;
$_moyenne_colonne_5 = $_colonne_5 / $diviseurArithmetique;
$_moyenne_colonne_6 = $_colonne_6 / $diviseurArithmetique;
$_moyenne_colonne_7 = $_colonne_7 / $diviseurArithmetique;
$_moyenne_colonne_8 = $_colonne_8 / $diviseurArithmetique;
$_moyenne_colonne_9 = $_colonne_9 / $diviseurArithmetique;
$_moyenne_colonne_10 = $_colonne_10 / $diviseurArithmetique;
$_moyenne_colonne_11 = $_colonne_11 / $diviseurArithmetique;
$_moyenne_colonne_12 = $_colonne_12 / $diviseurArithmetique;
$_moyenne_colonne_13 = $_colonne_13 / $diviseurArithmetique;
$_moyenne_colonne_14 = $_colonne_14 / $diviseurArithmetique;
$_moyenne_colonne_15 = $_colonne_15 / $diviseurArithmetique;
$_moyenne_colonne_16 = $_colonne_16 / $diviseurArithmetique;
$_moyenne_colonne_17 = $_colonne_17 / $diviseurArithmetique;
$_moyenne_colonne_18 = $_colonne_18 / $diviseurArithmetique;
$_moyenne_colonne_19 = $_colonne_19 / $diviseurArithmetique;
$_moyenne_colonne_20 = $_colonne_20 / $diviseurArithmetique;
$_moyenne_colonne_21 = $_colonne_21 / $diviseurArithmetique;
$_moyenne_colonne_22 = $_colonne_22 / $diviseurArithmetique;
$_moyenne_colonne_23 = $_colonne_23 / $diviseurArithmetique;
$_moyenne_colonne_24 = $_colonne_24 / $diviseurArithmetique;
$_moyenne_colonne_25 = $_colonne_25 / $diviseurArithmetique;
$_moyenne_colonne_26 = $_colonne_26 / $diviseurArithmetique;
$_moyenne_colonne_27 = $_colonne_27 / $diviseurArithmetique;
$_moyenne_colonne_28 = $_colonne_28 / $diviseurArithmetique;
$_moyenne_colonne_29 = $_colonne_29 / $diviseurArithmetique;
$_moyenne_colonne_30 = $_colonne_30 / $diviseurArithmetique;
$_moyenne_colonne_31 = $_colonne_31 / $diviseurArithmetique;
$_moyenne_colonne_32 = $_colonne_32 / $diviseurArithmetique;
$_moyenne_colonne_33 = $_colonne_33 / $diviseurArithmetique;
$_moyenne_colonne_34 = $_colonne_34 / $diviseurArithmetique;
$_moyenne_colonne_35 = $_colonne_35 / $diviseurArithmetique;
$_moyenne_colonne_36 = $_colonne_36 / $diviseurArithmetique;
$_moyenne_colonne_37 = $_colonne_37 / $diviseurArithmetique;
$_moyenne_colonne_38 = $_colonne_38 / $diviseurArithmetique;
$_moyenne_colonne_39 = $_colonne_39 / $diviseurArithmetique;
$_moyenne_colonne_40 = $_colonne_40 / $diviseurArithmetique;
$_moyenne_colonne_41 = $_colonne_41 / $diviseurArithmetique;
$_moyenne_colonne_42 = $_colonne_42 / $diviseurArithmetique;
$_moyenne_colonne_43 = $_colonne_43 / $diviseurArithmetique;
$_moyenne_colonne_44 = $_colonne_44 / $diviseurArithmetique;
$_moyenne_colonne_45 = $_colonne_45 / $diviseurArithmetique;
$nEchantillons = $diviseurArithmetique - 1;
//-------------------------------Contrôle les indices et les moyennes des colonnes
$m[] = '';
$m[] = $_colonne_matrice_1;
$m[] = $_colonne_matrice_2;
$m[] = $_colonne_matrice_3;
$m[] = $_colonne_matrice_4;
$m[] = $_colonne_matrice_5;
$m[] = $_colonne_matrice_6;
$m[] = $_colonne_matrice_7;
$m[] = $_colonne_matrice_8;
$m[] = $_colonne_matrice_9;
$m[] = $_colonne_matrice_10;
$m[] = $_colonne_matrice_11;
$m[] = $_colonne_matrice_12;
$m[] = $_colonne_matrice_13;
$m[] = $_colonne_matrice_14;
$m[] = $_colonne_matrice_15;
$m[] = $_colonne_matrice_16;
$m[] = $_colonne_matrice_17;
$m[] = $_colonne_matrice_18;
$m[] = $_colonne_matrice_19;
$m[] = $_colonne_matrice_20;
$m[] = $_colonne_matrice_21;
$m[] = $_colonne_matrice_22;
$m[] = $_colonne_matrice_23;
$m[] = $_colonne_matrice_24;
$m[] = $_colonne_matrice_25;
$m[] = $_colonne_matrice_26;
$m[] = $_colonne_matrice_27;
$m[] = $_colonne_matrice_28;
$m[] = $_colonne_matrice_29;
$m[] = $_colonne_matrice_30;
$m[] = $_colonne_matrice_31;
$m[] = $_colonne_matrice_32;
$m[] = $_colonne_matrice_33;
$m[] = $_colonne_matrice_34;
$m[] = $_colonne_matrice_35;
$m[] = $_colonne_matrice_36;
$m[] = $_colonne_matrice_37;
$m[] = $_colonne_matrice_38;
$m[] = $_colonne_matrice_39;
$m[] = $_colonne_matrice_40;
$m[] = $_colonne_matrice_41;
$m[] = $_colonne_matrice_42;
$m[] = $_colonne_matrice_43;
$m[] = $_colonne_matrice_44;
$m[] = $_colonne_matrice_45;
$m0[] = '';
$m0[] = $_colonne_matrice_1;
$m0[] = $_colonne_matrice_2;
$m0[] = $_colonne_matrice_3;
$m0[] = $_colonne_matrice_4;
$m0[] = $_colonne_matrice_5;
$m0[] = $_colonne_matrice_6;
$m0[] = $_colonne_matrice_7;
$m0[] = $_colonne_matrice_8;
$m0[] = $_colonne_matrice_9;
$m0[] = $_colonne_matrice_10;
$m0[] = $_colonne_matrice_11;
$m0[] = $_colonne_matrice_12;
$m0[] = $_colonne_matrice_13;
$m0[] = $_colonne_matrice_14;
$m0[] = $_colonne_matrice_15;
$m0[] = $_colonne_matrice_16;
$m0[] = $_colonne_matrice_17;
$m0[] = $_colonne_matrice_18;
$m0[] = $_colonne_matrice_19;
$m0[] = $_colonne_matrice_20;
$m0[] = $_colonne_matrice_21;
$m0[] = $_colonne_matrice_22;
$m0[] = $_colonne_matrice_23;
$m0[] = $_colonne_matrice_24;
$m0[] = $_colonne_matrice_25;
$m0[] = $_colonne_matrice_26;
$m0[] = $_colonne_matrice_27;
$m0[] = $_colonne_matrice_28;
$m0[] = $_colonne_matrice_29;
$m0[] = $_colonne_matrice_30;
$m0[] = $_colonne_matrice_31;
$m0[] = $_colonne_matrice_32;
$m0[] = $_colonne_matrice_33;
$m0[] = $_colonne_matrice_34;
$m0[] = $_colonne_matrice_35;
$m0[] = $_colonne_matrice_36;
$m0[] = $_colonne_matrice_37;
$m0[] = $_colonne_matrice_38;
$m0[] = $_colonne_matrice_39;
$m0[] = $_colonne_matrice_40;
$m0[] = $_colonne_matrice_41;
$m0[] = $_colonne_matrice_42;
$m0[] = $_colonne_matrice_43;
$m0[] = $_colonne_matrice_44;
$m0[] = $_colonne_matrice_45;
$m1[] = '';
$m1[] = $_moyenne_colonne_1;
$m1[] = $_moyenne_colonne_2;
$m1[] = $_moyenne_colonne_3;
$m1[] = $_moyenne_colonne_4;
$m1[] = $_moyenne_colonne_5;
$m1[] = $_moyenne_colonne_6;
$m1[] = $_moyenne_colonne_7;
$m1[] = $_moyenne_colonne_8;
$m1[] = $_moyenne_colonne_9;
$m1[] = $_moyenne_colonne_10;
$m1[] = $_moyenne_colonne_11;
$m1[] = $_moyenne_colonne_12;
$m1[] = $_moyenne_colonne_13;
$m1[] = $_moyenne_colonne_14;
$m1[] = $_moyenne_colonne_15;
$m1[] = $_moyenne_colonne_16;
$m1[] = $_moyenne_colonne_17;
$m1[] = $_moyenne_colonne_18;
$m1[] = $_moyenne_colonne_19;
$m1[] = $_moyenne_colonne_20;
$m1[] = $_moyenne_colonne_21;
$m1[] = $_moyenne_colonne_22;
$m1[] = $_moyenne_colonne_23;
$m1[] = $_moyenne_colonne_24;
$m1[] = $_moyenne_colonne_25;
$m1[] = $_moyenne_colonne_26;
$m1[] = $_moyenne_colonne_27;
$m1[] = $_moyenne_colonne_28;
$m1[] = $_moyenne_colonne_29;
$m1[] = $_moyenne_colonne_30;
$m1[] = $_moyenne_colonne_31;
$m1[] = $_moyenne_colonne_32;
$m1[] = $_moyenne_colonne_33;
$m1[] = $_moyenne_colonne_34;
$m1[] = $_moyenne_colonne_35;
$m1[] = $_moyenne_colonne_36;
$m1[] = $_moyenne_colonne_37;
$m1[] = $_moyenne_colonne_38;
$m1[] = $_moyenne_colonne_39;
$m1[] = $_moyenne_colonne_40;
$m1[] = $_moyenne_colonne_41;
$m1[] = $_moyenne_colonne_42;
$m1[] = $_moyenne_colonne_43;
$m1[] = $_moyenne_colonne_44;
$m1[] = $_moyenne_colonne_45;
$m2[] = '';
$m2[] = $_moyenne_colonne_1;
$m2[] = $_moyenne_colonne_2;
$m2[] = $_moyenne_colonne_3;
$m2[] = $_moyenne_colonne_4;
$m2[] = $_moyenne_colonne_5;
$m2[] = $_moyenne_colonne_6;
$m2[] = $_moyenne_colonne_7;
$m2[] = $_moyenne_colonne_8;
$m2[] = $_moyenne_colonne_9;
$m2[] = $_moyenne_colonne_10;
$m2[] = $_moyenne_colonne_11;
$m2[] = $_moyenne_colonne_12;
$m2[] = $_moyenne_colonne_13;
$m2[] = $_moyenne_colonne_14;
$m2[] = $_moyenne_colonne_15;
$m2[] = $_moyenne_colonne_16;
$m2[] = $_moyenne_colonne_17;
$m2[] = $_moyenne_colonne_18;
$m2[] = $_moyenne_colonne_19;
$m2[] = $_moyenne_colonne_20;
$m2[] = $_moyenne_colonne_21;
$m2[] = $_moyenne_colonne_22;
$m2[] = $_moyenne_colonne_23;
$m2[] = $_moyenne_colonne_24;
$m2[] = $_moyenne_colonne_25;
$m2[] = $_moyenne_colonne_26;
$m2[] = $_moyenne_colonne_27;
$m2[] = $_moyenne_colonne_28;
$m2[] = $_moyenne_colonne_29;
$m2[] = $_moyenne_colonne_30;
$m2[] = $_moyenne_colonne_31;
$m2[] = $_moyenne_colonne_32;
$m2[] = $_moyenne_colonne_33;
$m2[] = $_moyenne_colonne_34;
$m2[] = $_moyenne_colonne_35;
$m2[] = $_moyenne_colonne_36;
$m2[] = $_moyenne_colonne_37;
$m2[] = $_moyenne_colonne_38;
$m2[] = $_moyenne_colonne_39;
$m2[] = $_moyenne_colonne_40;
$m2[] = $_moyenne_colonne_41;
$m2[] = $_moyenne_colonne_42;
$m2[] = $_moyenne_colonne_43;
$m2[] = $_moyenne_colonne_44;
$m2[] = $_moyenne_colonne_45;
//-----------------------------------------------Scores
echo ('<div class="container">');
echo ('<div class="linha">');
for ($t = 65; $t < 120; $t++)
{
echo ('<div class="header borda">&#'.$t.';</div>');
}
echo ('</div>');
echo ('<div class="colStamps">');
for ($t = 65; $t < 120; $t++)
{
echo ('<div class="colAb bordaRight">&#'.$t.';</div>');
}
echo ('</div>');
for ($s = 1; $s < 46; $s++)
{
for ($f = 1; $f < 46; $f++)
{
echo ('<div class="col">');
for ($ii = 0; $ii < $diviseurArithmetique; $ii++)
{
$sommeT += (($m[$s][$ii] - $m1[$s]) * ($m0[$f][$ii] - $m2[$f]) );
$sommeQ += (($m[$s][$ii] - $m1[$s]) ** 2 );
$sommeQQ += (($m0[$f][$ii] - $m2[$f]) ** 2 );
}
$sommeQ2 = sqrt($sommeQ * $sommeQQ);
$d = $sommeT / $sommeQ2;
if ($d == 1)
{
echo ('<span class="destaque">'.$d.'</span>');
}
else
{
echo (number_format($d,2,",","."));
}
$sommeT = 0;
$sommeQ = 0;
$sommeQQ = 0;
$sommeQ2 = 0;
echo ('</div>');
}
}
echo ('</div>');
?>
</body>
</html>
Modifié par _laurent (16 Dec 2021 - 11:12)