IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Autocomplete tags google places JSON/AJAX en PHP


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 55
    Points : 67
    Points
    67
    Par défaut Autocomplete tags google places JSON/AJAX en PHP
    Bonjour,



    Ce code est une combinaison des tags jQuery http://aehlke.github.io/tag-it/ et de Google Places API https://developers.google.com/maps/d...ueryprediction

    Encore un exemple ici: https://jqueryui.com/autocomplete/#multiple sauf que les languages de programmation dans mon cas sont des lieux récupérés par Google Places API.

    J'ai un peu du mal avec le JSON et je voudrais enregistrer ces différents lieux dans des variables pour les stocker dans ma BDD, dans des tables séparés "city", "region" et "country".

    Je cherche juste à completer ce code avec du JSON en enregistrant les tags obtenus dans des variables après avoir appuyé sur "Submit".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <html>
     
    <head>
    	<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/flick/jquery-ui.css">
    	<link href="jquery.tagit.css" rel="stylesheet" type="text/css">	
    </head>
     
    <body>
     
    	<p>This geotag demo uses the <strong>jQuery tag-it</strong> control and <strong>Google's AutocompleteService API</strong>.</p>
     
    	<ul id="courseLocation">
    	</ul>
     
    	<input type="button" id="submit-button" value="Submit" />
     
    	<ul id="result-list">
    	</ul>
     
    	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
    	<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
    	<script src="tag-it.min.js" type="text/javascript" charset="utf-8"></script>
    	<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script>	
    	<script type="text/javascript">
    		$("#submit-button").click(function() {
    			$("#result-list").empty();
    			var tags = $("#courseLocation").tagit("assignedTags");
    			for(var i=0; i<tags.length; i++)
    				$("#result-list").append("<li>" + tags[i] + "</li>");
    		});
    		$(document).ready(function() {
    			$("#courseLocation").tagit({
    				allowSpaces: true,
    				autocomplete: {
    					delay: 0,
    					minLength: 2,
    					source: function(request, response) {
    						var callback = function (predictions, status) {
    							if (status != google.maps.places.PlacesServiceStatus.OK) {
    								return;
    							}					
    							var data = $.map(predictions, function(item) {
    								return item.description;
    							});
    							response(data);
    						}		
    						var service = new google.maps.places.AutocompleteService();
    						service.getQueryPredictions({ input: request.term }, callback);
    					}
    				}
    			});
    		});
    	</script>
    </body>
     
    </html>
    Avec du JSON je pourrais récupérer les types https://developers.google.com/places/supported_types pour savoir si c'est une ville, une région ou un pays.

    Et stocker dans du PHP, exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    function reverse_geocode($address) {
                                                $address = str_replace(" ", "+", "$address");
                                                $url = "http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false";
                                                $result = file_get_contents("$url");
                                                $json = json_decode($result);
                                                foreach ($json->results as $result) {
                                                    foreach($result->address_components as $addressPart) {
                                                      if((in_array('locality', $addressPart->types)) && (in_array('political', $addressPart->types)))
                                                      $city = $addressPart->long_name;
                                                        else if((in_array('administrative_area_level_2', $addressPart->types)) && (in_array('political', $addressPart->types)))
                                                      $dept = $addressPart->long_name;
                                                        else if((in_array('administrative_area_level_1', $addressPart->types)) && (in_array('political', $addressPart->types)))
                                                      $state = $addressPart->long_name;
                                                        else if((in_array('country', $addressPart->types)) && (in_array('political', $addressPart->types)))
                                                      $country = $addressPart->long_name;
                                                    }
                                                }
     
                                                if(($city != '') && ($dept != '') && ($state != '') && ($country != ''))
                                                    $address = $city.', '.$dept.', '.$state.', '.$country;
                                                else if(($city != '') && ($state != '') && ($country != ''))
                                                    $address = $city.', '.$state.', '.$country;
                                                else if(($city != '') && ($state != ''))
                                                    $address = $city.', '.$state;
                                                else if(($state != '') && ($country != ''))
                                                    $address = $state.', '.$country;
                                                elseif($country != '')
                                                    $address = $country;
     
                                                // return $address;
                                                return "$country/$dept/$state/$city";
                                            }
    Et on les sépareraient par des catégories. Les tags qui sont des villes seraient inséré dans une array "city" et ceux qui sont des régions seront inséré dans une array "region" etc:

    $tags= array ( "city" => array("Paris, France", "London, UK", "New York, United States"),

    "region" => array("Ile-de-France, France", "Normandie, France", "Skåne, Sweden"),

    "country" => array("France", "United States", "Germany", "Belgium", "Sweden") );



    Comment feriez-vous pour poster tout mes tags et récupérer tout ceci en json/ajax pour ensuite les passer dans des variables php?



    En attente de votre réponse.

    Merci d'avance.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    j'ai pris le temps de la lecture/relecture de ton post mais je ne comprends pas franchement ce que tu cherches à faire est où et ton soucis

Discussions similaires

  1. [AJAX] Erreur sur login avec ajax et php json
    Par anous dans le forum jQuery
    Réponses: 3
    Dernier message: 13/10/2015, 02h31
  2. JSON renvoyé depuis PhP par Ajax illisible
    Par PandoraShys dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/05/2015, 16h35
  3. Création d'une carte réseau en temps réel (Javascript/php/Json/AJax)
    Par hermally dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 31/03/2015, 11h28
  4. Réponses: 1
    Dernier message: 13/02/2014, 20h21
  5. Requête AJAX vers PHP, back-end JSON et résultat
    Par wenijah dans le forum jQuery
    Réponses: 2
    Dernier message: 23/04/2012, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo