wydook | Bonjour à tous.
Bonjour à tous.
J'ai inserer google maps sur mon site et j'utilise le géocoder. Ceci me permet de mettre le nom de la ville que je désire dans le code, et de m'afficher la carte.
Code :
- <?php
- // on se connecte à notre base
- $base = mysql_connect ('***', '***', '***');
- mysql_select_db('***', $base);
- $nombreDeMessagesParPage = 20; // Le nombre de news sur chaque page
- // On récupère le nombre total de messages
- $retour = mysql_query('SELECT COUNT(*) AS obs FROM observation');
- $donnees = mysql_fetch_array($retour);
- $totalDesMessages = $donnees['nb_observations'];
- // On calcule le nombre de pages à créer
- $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
- if (isset($_GET['num_page']))
- {
- $page = $_GET['num_page']; // On récupère le numéro de la page indiqué dans l'adresse (news.php?num_page=4)
- }
- else // La variable n'existe pas, c'est la première fois qu'on charge la page
- {
- $page = 1; // On se met sur la page 1 (par défaut)
- }
- // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
- $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
- // lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
- $sql = 'SELECT id, ville, date, texte_news, auteur, departement, temps FROM observations
- ORDER BY id desc LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
- // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
- $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
- // on compte le nombre de news stockées dans la base de données
- $nb_news = mysql_num_rows($req);
- if ($nb_news == 0) {
- echo 'Aucune observation enregistrée.';
- }
- else {
- // si on a au moins une news, on l'affiche
- while ($data = mysql_fetch_array($req)) {
- // on décompose la date
- sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
- // on affiche les résultats
- echo '<p id="'.$data['id'].'">'; ?>
- <table>
-
- <thead>
- <!-- En-tête du tableau -->
- <tr>
- <th bgcolor="#663300">
- <? echo , stripslashes(htmlentities(trim($data['ville']))) ; ?>
- (<? echo , stripslashes(htmlentities(trim($data['departement']))) ; ?> )</th>
- </tr>
- </thead>
- <tbody>
- <!-- Corps du tableau -->
- <tr>
- <td bgcolor="#FFEBD7">
- Posté par: <strong><? echo '' , stripslashes(htmlentities(trim($data['auteur']))) ; ?></strong>, le <? echo '' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , '' ; ?>
- <div align="left">
- </div></td>
- </tr>
- <tr>
- <td bgcolor="#FFEBD7"><div align="center"><img src="<? echo , stripslashes(htmlentities(trim($data['temps'])));?>" /><br />
- <br />
- <u><font color="#006600">Détail de l'observation:</font></u><br />
- <br />
- <? if (isset($data['texte_news']))
- {
- $texte_news = stripslashes($data['texte_news']); // On enlève les slash qui se seraient ajoutés automatiquement
- $texte_news = htmlentities($data['texte_news']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
- $texte_news = nl2br($data['texte_news']); // On crée des <br /> pour conserver les retours à la ligne
-
- // On fait passer notre texte à la moulinette des Regex
- $data['texte_news'] = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>',$data['texte_news']);
- $data['texte_news']= preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $data['texte_news']);
- $data['texte_news']= preg_replace('!\[CENTER\](.+)\[/CENTER\]!isU', '<div align="center">$1</div>', $data['texte_news']);
- $data['texte_news']= preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>',$data['texte_news']);
- $data['texte_news'] = preg_replace("#\[url\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/url\]#sie", "'<a href=\"\\1' . str_replace(' ', '%20', '\\3') . '\" >\\1\\3</a>'", $data['texte_news']);
- $data['texte_news'] = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/", "<a href=\"$1\" >$2</a>", $data['texte_news']);
- $data['texte_news'] = preg_replace('!\[URL=(.+)\](.+)\[/URL\]!isU','<a href="$1" >$2</a>', $data['texte_news']);
- $data['texte_news'] = preg_replace('!\[img\](.+)\[/img\]!iU', '<img src="$1" border="0" / style="filter:alpha(opacity=100); -moz-opacity: 1;" onmouseover="makevisible(this,0)" onmouseout="makevisible(this,1)"/>', $data['texte_news']);
- $data['texte_news'] = preg_replace('!\[email\]([a-z0-9._-]+@[a-z0-9._-]{2}\.[a-z]{2,4})\[/email\]!','<a href="mailto:$1">$1</a>', $data['texte_news']);
-
- }
- echo '' , nl2br(stripslashes(trim($data['texte_news']))) ; ?>
- </div> <div id="map" style="width: 200px; height: 200px"></div>
- <script>
- function showAddress(address) {
- geocoder.getLatLng(
- address,
- function(point) {
- if (!point) {
- alert(address + " not found" );
- } else {
- map.setCenter(point, 5);
- var marker = new GMarker(point);
- map.addOverlay(marker);
- //marker.openInfoWindowHtml(address);
- }
- }
- );
- }
- </script>
- <script type="text/javascript">
- var map = new GMap2(document.getElementById("map" ));
- var geocoder = new GClientGeocoder();
- showAddress('<? echo , stripslashes(htmlentities(trim($data['ville']))) ; ?>');
- map.setMapType(G_SATELLITE_TYPE);
- </script></td>
- </tr>
- </tbody>
- </table>
- <?
-
- }
- }
- // on libère l'espace mémoire alloué à cette requête
- mysql_free_result ($req);
- ?><br />
- <br />
- >Page :<br />
- <?
- for ($i = 1 ; $i <= $nombreDePages ; $i++)
- {
- echo '<a href="actualites.php?num_page=' . $i . '">' . $i . '</a> ';
- }
- ?>
- <?
- // on ferme la connexion à la base de données
- mysql_close (); ?>
|
Mon problème ce situ à cette ligne (vers le bas du formulaire) quand je fait appel à la requete php qui m'inscrira donc le nom de la ville automatiquement.
Code :
- showAddress('<? echo , stripslashes(htmlentities(trim($data['ville']))) ; ?>');
|
Ceci ne fonctionne pas. Si quelqu'un voit l'erreur, merci de me prévenir |