Page 1 sur 1

noms de pays en php

Posté : 30 mai 2005, 08:55
par pascal
bonjour,
voila, je cherche à faire de la géolocalisation en php. j'ai repris le code ci-dessous sur un cite, mais la requete mysql me retourne resource id#13 au lieu du nom du pays. quelle est la faute. merci


<?php
class geolocalisation
{
var $geolocalisation;

function geolocalisation()
{
$this->geolocalisation = "";
}

/** Converts IP adress to IP number **/
function ip_tonumber($ipadress)
{
if ($ipadress == "")
return 0;
else
{
$iptab = explode (".", "$ipadress"); // Retourne un tableau de chaînes
$res = ($iptab[0] * 256 * 256 * 256 + $iptab[1] * 256 * 256 + $iptab[2] * 256 + $iptab[3] );
return $res;
}
}

/** address IP converts into name of the corresponding country **/
function ip_tocountry($ipnumber)
{
//$db = new connect();
$mysql_host="localhost"; // le serveur
$mysql_login="pascal"; // le login
$mysql_pass="pmms1212"; // mot de passe
$mysql_dbnom="jeuxatouscom5"; // nom de la base de donnee
$db=mysql_connect($mysql_host,$mysql_login,$mysql_pass);
mysql_select_db($mysql_dbnom,$db);

$sql = "SELECT nompays AS rowid FROM nompays WHERE '".$ipnumber."' BETWEEN ip_from AND ip_to";
$res=mysql_query($sql, $db);
return $res;
}
}


$geolocalisation = new geolocalisation();

$ip = getenv("REMOTE_ADDR");

/****** MILTON 03/08/04 - Géolocalisation (2) - Vérification des droits *******/
$ipnumber = $geolocalisation->ip_tonumber($ip);
$ipcountry = $geolocalisation->ip_tocountry($ipnumber);


echo "<br> IP : $ip <br>IP NUMERO : $ipnumber $ipcountry";
?>

Posté : 30 mai 2005, 09:10
par Cyrano
Salut,
l'erreur vient de ce que tu récupères une ressource et non le résultat de ta requête: Il faudrait pour celà utiliser une autre fonction, en plus de ce que tu as fait pour retourner un tableau de valeurs, exemple :
<?php
echo("<ul>\n");
while($liste = mysql_fetch_assoc($res))
{
    echo("\t<li>Nom du pays : ". $liste['nompays'] ."</li>\n");
}
echo("</ul>\n");
?>
Ceci t'affichera la liste des pays correspondant à la requête.

Posté : 30 mai 2005, 09:49
par Invité
merci, mais ca ne marche pas

Posté : 30 mai 2005, 10:18
par Cyrano
Et tu obtiens quoi au juste ? un message d'erreur? l'affichage d'un truc bizarre ? Un café sans sucre ? ;)

Posté : 30 mai 2005, 12:16
par Invité
j'obtient une erreur mysql. je pense que je ne met pas a la bonne place le code que tu ma donné, ou dois-je l'insérer?

Posté : 30 mai 2005, 13:31
par Invité
c'est bon, j'ai trouve la faille, merci encore.