Je n'ai pas été voir plus bas, mais ceci pose déjà problème :
Code PHP :
<?php
$data = mysql_query($req) or die(mysql_error());
$localisation = basename($data['image'], '.gif');
La fonction mysql_query() renvoie une ressource (à exploiter ensuite) ou bien FALSE en cas d'erreur.
Ton problème vient donc que tu ne traite pas la réponse de mysql_query() correctement, avec par exemple mysql_fetch_array() ou mysql_result() ou autre...