Salut à tous, voilà je gère avec un collègue un site de jeu avec classement des joueurs, dans ce classement nous avons deux erreurs que nous n'arrivons pas à corriger.

Nous passons par developpez.net car vous êtes notre seule solution réelle,

Notre fichier php montre le classement des "joueurs" des "guildes" et des "guildes sièges"
Seules les classements guildes et guildes sièges, fonctionnent correctement, seul le classement joueurs obtient des erreurs.

Les erreurs sont les suivantes:
Warning: odbc_exec(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Impossible de r�soudre le conflit de classement entre "Latin1_General_CI_AS" et "Latin1_General_BIN" dans l'op�ration equal to., SQL state 37000 in SQLExecDirect in C:\wamp\www\pages\ranking.php on line 16 Warning: odbc_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\pages\ranking.php on line 11
Le fichier.php est le suivant:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
if(isset($_GET['a']) and $_GET['a']=='player')
{
	$PageContent .='<div id="center_4">
				<h1>Classement</h1>
				<h2>Classement des Joueurs</h2>
				<table class="width bordered rank players">
					<tr><td>N°</td><td>Nom</td><td>Classe</td><td>Level</td><td>Guilde</td></tr>';
					$Query = odbc_exec($mssql, "SELECT TOP 19 t1.m_szName, t1.m_nLevel, t1.m_nJob, t1.m_dwSex, SUM(t3.Point)/COUNT(t3.Point) as points, t5.m_szGuild FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] AS t1 LEFT JOIN [ACCOUNT_DBF].[dbo].[ACCOUNT_TBL_DETAIL] AS t2 on t1.account=t2.account LEFT JOIN [CHARACTER_01_DBF].[dbo].[tblCombatJoinPlayer] AS t3 on t3.PlayerID=t1.m_idPlayer LEFT JOIN [CHARACTER_01_DBF].[dbo].[GUILD_MEMBER_TBL] AS t4 ON t4.m_idPlayer = t1.m_idPlayer LEFT JOIN [CHARACTER_01_DBF].[dbo].[GUILD_TBL] AS t5 ON t5.m_idGuild = t4.m_idGuild WHERE t2.m_chLoginAuthority='F' AND t1.m_chAuthority='F' AND t1.isblock='F' GROUP BY t1.m_szName, t1.m_nLevel, t1.m_nJob, t1.m_dwSex, t5.m_szGuild ORDER BY t1.m_nLevel desc, points desc");
					$i=1;
					if(odbc_num_rows($Query) != 0)
					{
						while($datas = odbc_fetch_array($Query))
						{
							$PageContent .='
					<tr><td>'.$i.'</td><td>'.gender($datas['m_szName'], $datas['m_dwSex']).'</td><td>'.Classe($datas['m_nJob']).'</td><td>'.level($datas['m_nLevel'], $datas['m_nJob']).'</td><td>'.$datas['m_szGuild'].'</td></tr>';
							$i++;
						}
						$PageContent .='
				</table>';
					}
					else $PageContent.='
				</table>
				<div id="error" style="margin-top: 5px">Aucuns Personnages trouvés.</div>';
				$PageContent .='
			</div>';
}
elseif(isset($_GET['a']) and $_GET['a']=='guilds')
{
	$PageContent .='<div id="center_4">
				<h1>Classement</h1>
				<h2>Classement des Guildes</h2>
				<table class="width bordered rank guild">
					<tr><td>N°</td><td>Nom</td><td>Level</td><td>Gagnés</td><td>Perdus</td><td>Abandons</td></tr>';
					$Query = odbc_exec($mssql, "SELECT TOP 19 * FROM [CHARACTER_01_DBF].[dbo].[GUILD_TBL] ORDER BY m_nLevel desc, m_nWin desc, m_nLose asc");
					$i=1;
					if(odbc_num_rows($Query) != 0)
					{
						while($datas = odbc_fetch_array($Query))
						{
							$PageContent .='
					<tr><td>'.$i.'</td><td>'.$datas['m_szGuild'].'</td><td>'.$datas['m_nLevel'].'</td><td>'.$datas['m_nWin'].'</td><td>'.$datas['m_nLose'].'</td><td>'.$datas['m_nSurrender'].'</td></tr>';
							$i++;
						}
						$PageContent .='
				</table>';
					}
					else $PageContent.='
				</table>
				<div id="error" style="margin-top: 5px">Aucunes Guildes trouvés.</div>';
				$PageContent .='
			</div>';
}
elseif(isset($_GET['a']) and $_GET['a']=='gs')
{
	$PageContent .='<div id="center_4">
				<h1>Classement</h1>
				<h2>Classement des Guildes Sièges</h2>
				<table class="width bordered rank gs">
					<tr><td>N°</td><td>Nom</td><td>Guilde</td><td>Points</td><td>Moyenne par GS</td></tr>';
					$Query = odbc_exec($mssql, "SELECT TOP 19 t1.[m_szName], t1.[m_dwSex], SUM(t2.[Point]) as [points], AVG(t2.[Point]) as moyenne, t4.[m_szGuild] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] AS t1 LEFT JOIN [CHARACTER_01_DBF].[dbo].[tblCombatJoinPlayer] AS t2 ON t2.[PlayerID] = [m_idPlayer] LEFT JOIN [CHARACTER_01_DBF].[dbo].[GUILD_MEMBER_TBL] AS t3 ON t3.[m_idPlayer] = t1.[m_idPlayer] LEFT JOIN [CHARACTER_01_DBF].[dbo].[GUILD_TBL] AS t4 ON t3.m_idGuild=t4.m_idGuild WHERE [m_chAuthority] = 'F' AND [isblock] != 'D' GROUP BY t1.[m_szName], t1.[m_dwSex], t4.[m_szGuild] HAVING COUNT(t2.[Point])>=1 ORDER BY points DESC, moyenne DESC");
					$i=1;
					if(odbc_num_rows($Query) != 0)
					{
						while($datas = odbc_fetch_array($Query))
						{
							$PageContent .='
					<tr><td>'.$i.'</td><td>'.gender($datas['m_szName'], $datas['m_dwSex']).'</td><td>'.$datas['m_szGuild'].'</td><td>'.$datas['points'].'</td><td>'.$datas['moyenne'].'</td></tr>';
							$i++;
						}
						$PageContent .='
				</table>';
					}
					else $PageContent.='
				</table>
				<div id="error" style="margin-top: 5px">Aucuns Personnages trouvés.</div>';
				$PageContent .='
			</div>';
}
else
{
	require_once('pages/error.phb');
}
?>
Si vous pouvez nous éclairer, ça serait génial !