Bonjour,
J'ai une table "top" avec comme structure id, id_num, id_title, id_author, id_user.
Cette table me sert à faire un top 5 des 5 livres que préfère l'utilisateur, exemple d'une entrée :
1, 5 (en position 5 dans le top), titre du bouquin, nom de l'auteur, id de l'utilisateur qui possède ce top 5.
J'aimerais maintenant pouvoir comparer des tops 5 entre eux et voir quel top 5 a le plus de ressemblance un autre top 5.
J'ai donc mis le top 5 à comparer dans un array, et tous les autres tops 5 dans un autre array :
Et j'ai donc fait un array_intersect pour voir les similitudes, j'obtiens ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php $query = 'SELECT id_title FROM tops5 WHERE id_user="'.$row_user['id'].'" AND id_title != ""'; // on sélectionne les livres du top 5 de l'utilisateur que l'on compare $result = mysql_query($query); $arr = array(); while($row = mysql_fetch_array($result)) { array_push($arr, $row['id_title']); } print_r($arr); echo '<br /><br />'; $querya = 'SELECT id_title FROM tops5 WHERE id_user != "'.$row_user['id'].'" AND id_title != ""'; // on sélectionne les livres de tous les autres top 5 $resulta = mysql_query($querya); $arr2 = array(); while($rowa = mysql_fetch_array($resulta)) { array_push($arr2, $rowa['id_title']); } print_r($arr2); echo '<br /><br />'; $resultb = array_intersect($arr, $arr2); print_r($resultb); ?>
$arr :
Array ( [0] => Levels [1] => Good Feeling [2] => Cry [3] => Glad You Came [4] => Hips don't lie )
$arr2 :
Array ( [0] => Levels [1] => Club can't handle me [2] => Good Feeling [3] => Man Down )
$resultb :
Array ( [1] => Levels [2] => Good Feeling )
J'obtiens bien ce qui est similaire à $arr, mais maintenant, je voudrais trouver l'id_user à qui appartient le top 5 qui a le plus de similitudes.
Comment pourrais je m'y prendre ?
Merci par avance pour votre aide!
Partager