probleme pour inserer une requete php dans du javascript

probleme pour inserer une requete php dans du javascript - PHP - Programmation

Marsh Posté le 23-11-2006 à 12:44:38    

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 :
  1. <?php
  2. // on se connecte à notre base
  3. $base = mysql_connect ('***', '***', '***');
  4.     mysql_select_db('***', $base);
  5. $nombreDeMessagesParPage = 20; // Le nombre de news sur chaque page
  6. // On récupère le nombre total de messages
  7. $retour = mysql_query('SELECT COUNT(*) AS obs FROM observation');
  8. $donnees = mysql_fetch_array($retour);
  9. $totalDesMessages = $donnees['nb_observations'];
  10. // On calcule le nombre de pages à créer
  11. $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
  12. if (isset($_GET['num_page']))
  13. {
  14.     $page = $_GET['num_page']; // On récupère le numéro de la page indiqué dans l'adresse (news.php?num_page=4)
  15. }
  16. else // La variable n'existe pas, c'est la première fois qu'on charge la page
  17. {
  18.     $page = 1; // On se met sur la page 1 (par défaut)
  19. }
  20. // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
  21. $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  22. // 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)
  23. $sql = 'SELECT id, ville, date, texte_news, auteur, departement, temps FROM observations
  24. ORDER BY id desc LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
  25. // 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)
  26. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  27. // on compte le nombre de news stockées dans la base de données
  28. $nb_news = mysql_num_rows($req);
  29. if ($nb_news == 0) {
  30.     echo 'Aucune observation enregistrée.';
  31. }
  32. else {
  33.     // si on a au moins une news, on l'affiche
  34.     while ($data = mysql_fetch_array($req)) {
  35.         // on décompose la date  
  36.         sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
  37.         // on affiche les résultats
  38.       echo '<p id="'.$data['id'].'">'; ?>
  39.   <table>
  40.  
  41.     <thead>
  42.       <!-- En-tête du tableau -->
  43.       <tr>
  44.         <th bgcolor="#663300">
  45.           <?  echo  , stripslashes(htmlentities(trim($data['ville']))) ; ?>
  46.           (<?  echo  , stripslashes(htmlentities(trim($data['departement']))) ; ?> )</th>
  47.       </tr>
  48.     </thead>
  49.     <tbody>
  50.       <!-- Corps du tableau -->
  51.       <tr>
  52.         <td bgcolor="#FFEBD7">
  53.          Posté par:  <strong><?  echo '' , stripslashes(htmlentities(trim($data['auteur']))) ; ?></strong>, le <? echo '' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , '' ;  ?>
  54.           <div align="left">
  55.           </div></td>
  56.       </tr>
  57.       <tr>
  58.         <td bgcolor="#FFEBD7"><div align="center"><img src="<? echo  , stripslashes(htmlentities(trim($data['temps'])));?>" /><br />
  59.            <br />
  60.             <u><font color="#006600">D&eacute;tail de l'observation:</font></u><br />
  61.             <br />
  62.             <? if (isset($data['texte_news']))
  63. {
  64.      $texte_news = stripslashes($data['texte_news']); // On enlève les slash qui se seraient ajoutés automatiquement  
  65.      $texte_news = htmlentities($data['texte_news']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer  
  66.      $texte_news = nl2br($data['texte_news']); // On crée des <br /> pour conserver les retours à la ligne  
  67.      
  68.      // On fait passer notre texte à la moulinette des Regex  
  69.      $data['texte_news'] = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>',$data['texte_news']);
  70.      $data['texte_news']= preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $data['texte_news']);
  71.          $data['texte_news']= preg_replace('!\[CENTER\](.+)\[/CENTER\]!isU', '<div align="center">$1</div>', $data['texte_news']);
  72.     $data['texte_news']= preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>',$data['texte_news']);
  73.     $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']);
  74.         $data['texte_news'] = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/", "<a href=\"$1\" >$2</a>", $data['texte_news']);
  75.                  $data['texte_news'] = preg_replace('!\[URL=(.+)\](.+)\[/URL\]!isU','<a href="$1" >$2</a>', $data['texte_news']);
  76. $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']);
  77. $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']);
  78.      
  79. }
  80.       echo '' , nl2br(stripslashes(trim($data['texte_news']))) ; ?>
  81.           </div> <div id="map" style="width: 200px; height: 200px"></div>
  82. <script>
  83.    function showAddress(address) {
  84.   geocoder.getLatLng(
  85.     address,
  86.     function(point) {
  87.       if (!point) {
  88.         alert(address + " not found" );
  89.       } else {
  90.         map.setCenter(point, 5);
  91.         var marker = new GMarker(point);
  92.         map.addOverlay(marker);
  93.         //marker.openInfoWindowHtml(address);
  94.       }
  95.     }
  96.   );
  97. }
  98. </script>
  99. <script type="text/javascript">
  100. var map = new GMap2(document.getElementById("map" ));
  101. var geocoder = new GClientGeocoder();
  102. showAddress('<?  echo  , stripslashes(htmlentities(trim($data['ville']))) ; ?>');
  103. map.setMapType(G_SATELLITE_TYPE);
  104. </script></td>
  105.       </tr>
  106.     </tbody>
  107.   </table>
  108. <?
  109.        
  110.     }
  111. }
  112. // on libère l'espace mémoire alloué à cette requête
  113. mysql_free_result ($req);
  114. ?><br />
  115. <br />
  116. >Page :<br />
  117.       <?
  118. for ($i = 1 ; $i <= $nombreDePages ; $i++)
  119. {
  120.     echo '<a href="actualites.php?num_page=' . $i . '">' . $i . '</a> ';
  121. }
  122. ?>
  123.       <?
  124. // on ferme la connexion à la base de données
  125. 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 :
  1. showAddress('<?  echo  , stripslashes(htmlentities(trim($data['ville']))) ; ?>');


 
 
Ceci ne fonctionne pas.  Si quelqu'un voit l'erreur, merci de me prévenir  :)

Reply

Marsh Posté le 23-11-2006 à 12:44:38   

Reply

Marsh Posté le 23-11-2006 à 13:07:00    

"Ceci ne fonctionne pas." ... ah et tu t'attends à ce que ça fasse quoi ?
A quoi ressemble le html généré ?

Reply

Marsh Posté le 23-11-2006 à 13:11:02    

Ricco a écrit :

"Ceci ne fonctionne pas." ... ah et tu t'attends à ce que ça fasse quoi ?
A quoi ressemble le html généré ?


 
 
Quand j'ouvre la page en question, j'ai une fenêtre qui s'ouvre et qui me dit que je n'est renseigner aucun nom de ville.
 
A l'origine cette ligne qui me pose problème était comme ca:
 

Code :
  1. showAddress('Paris');


Reply

Marsh Posté le 23-11-2006 à 14:34:38    

- donne nous le code source de ta page générée
- évite <? , met plutôt <?php

Reply

Marsh Posté le 23-11-2006 à 14:43:14    

edit


Message édité par wydook le 23-11-2006 à 14:45:00
Reply

Marsh Posté le 23-11-2006 à 14:57:48    

soju a écrit :

- donne nous le code source de ta page générée
- évite <? , met plutôt <?php


 
voici la page en question http://www.meteo-world.com/formula [...] tions2.php
 
 
Je ne met pas le code ici, il est trop long  :)  

Reply

Marsh Posté le 23-11-2006 à 15:13:02    

je vois par exemple showAddress('Narbonne'); donc ton echo fonctionne bien (même si y'a une virgule qui ne sert à rien)
 
par contre c'est le bazar dans ton javascript... tu déclares une quinzaine de fois la fonction showAddress... tu crées une quinzaine de fois l'objet GMap2...etc... un nettoyage s'impose

Reply

Marsh Posté le 23-11-2006 à 15:30:13    

C'est normal que ca s'affiche plusieurs fois, c'est en fonction du nom des villes. Dans la page il doit y avoir plusieurs fois la carte google maps, or je m'apercoit que seule la carte de Lyon fonctionne vers le milieu de la page et pas les autres cartes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed