Bonjour, je pose cette question ici parce que je ne sais vraiment plus quoi faire. C'est un problème qui traine depuis plus de 6 mois et personne n'a vraiment réussi à m'aider, moi même je n'y arrive pas.
Le but est pour simple, il faudrait réduire le nombre de requêtes dans le code ci-dessous car il y en a beaucoup trop.
Sinon il y a la fonction doquery pour ceux qui veulent plus de précisions :
La page complète est dispo ici : http://www.rpgillusion.net/game/map.txt
Voila si quelqu'un si pouvait m'aider, je lui serais vraiment reconnaissant.
Le but est pour simple, il faudrait réduire le nombre de requêtes dans le code ci-dessous car il y en a beaucoup trop.
Code:
//Récupération élément décors.
$mapquery = doquery("SELECT longitude, latitude, pic, land FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "map");
while ($maprow = mysql_fetch_assoc($mapquery)) {
if (empty($TabMAP1[$maprow['longitude']][$maprow['latitude']]))
$TabMAP1[$maprow['longitude']][$maprow['latitude']] = $maprow['pic'];
}
mysql_free_result($mapquery);
//Récupération élément clans.
$clanquery = doquery("SELECT pic, longitude, latitude FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "clans_elements");
while ($clanrow = mysql_fetch_assoc($clanquery)) {
if (empty($TabMAP7[$clanrow['longitude']][$clanrow['latitude']]))
$TabMAP7[$clanrow['longitude']][$clanrow['latitude']] = $clanrow['pic'];
}
mysql_free_result($clanquery);
//Récupération élément villes.
$townquery = doquery("SELECT name, longitude, latitude FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "towns");
while ($townrow = mysql_fetch_assoc($townquery)) {
if (empty($TabMAP2[$townrow['longitude']][$townrow['latitude']]))
$TabMAP2[$townrow['longitude']][$townrow['latitude']] = $townrow['name'];
}
mysql_free_result($townquery);
//Récupération élément points de téléportations.
$teleportationquery = doquery("SELECT name, longitude, latitude FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "teleportations");
while ($teleportationrow = mysql_fetch_assoc($teleportationquery)) {
if (empty($TabMAP9[$teleportationrow['longitude']][$teleportationrow['latitude']]))
$TabMAP9[$teleportationrow['longitude']][$teleportationrow['latitude']] = $teleportationrow['name'];
}
mysql_free_result($teleportationquery);
//Récupération élément bureaux des colis.
$officequery = doquery("SELECT name, longitude, latitude FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "packages_offices");
while ($officerow = mysql_fetch_assoc($officequery)) {
if (empty($TabMAP8[$officerow['longitude']][$officerow['latitude']]))
$TabMAP8[$officerow['longitude']][$officerow['latitude']] = $officerow['name'];
}
mysql_free_result($officequery);
//Récupération élément coffres.
$cofferquery = doquery("SELECT name, longitude, latitude FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "coffers");
while ($cofferrow = mysql_fetch_assoc($cofferquery)) {
if (empty($TabMAP5[$cofferrow['longitude']][$cofferrow['latitude']]))
$TabMAP5[$cofferrow['longitude']][$cofferrow['latitude']] = $cofferrow['name'];
}
mysql_free_result($cofferquery);
//Récupération élément arènes.
$arenaquery = doquery("SELECT name, longitude, latitude FROM {{table}} WHERE longitude between $x_start and $x_end AND latitude between $y_start and $y_end ORDER BY longitude DESC,latitude DESC LIMIT 48", "arenas");
while ($arenarow = mysql_fetch_assoc($arenaquery)) {
if (empty($TabMAP6[$arenarow['longitude']][$arenarow['latitude']]))
$TabMAP6[$arenarow['longitude']][$arenarow['latitude']] = $arenarow['name'];
}
mysql_free_result($arenaquery);
Sinon il y a la fonction doquery pour ceux qui veulent plus de précisions :
Code:
function doquery($query, $table) {
include('config.php');
$sqlquery = mysql_query(str_replace("{{table}}", $dbsettings["prefix"] . "_" . $table, $query)) or die(mysql_error());
return $sqlquery;
}
La page complète est dispo ici : http://www.rpgillusion.net/game/map.txt
Voila si quelqu'un si pouvait m'aider, je lui serais vraiment reconnaissant.