[résolu] Récupérer des valeurs issues de javascript pour les mettre en base MySQL

OTP

WRInaute accro
Bonjour,

Je ne doute pas que le sujet est classique mais je n'ai pas trouvé comment m'en sortir.

Je détermine dans une fonction de geocodage une latitude et une longitude:

Code:
results[0].geometry.location.lat();
results[0].geometry.location.lng();

Je veux les stocker dans une table MySQL.

Bien sûr, comme je suis côté client, je ne peux exécuter de PHP.
J'ai pensé à une page stockage-mysql.php?lat=malatitude&lng=malongitude&id=monid appelée via un header('Location: ...').

Déjà, ça, je ne sais pas le faire (je n'arrive à récupérer mes deux valeurs javascript que via des

Code:
document.getElementById("test").innerHTML

Et je pense qu'il y a mieux.

Vous pouvez m'orienter ?

Merci,

OTP
 

UsagiYojimbo

WRInaute accro
Re: Récupérer des valeurs issues de javascript pour les mettre en base MySQL

Tu peux faire ça en Ajax: l'appel d'un scripts PHP via le JS, qui permet dès lors d'envoyer au script PHP, en GET ou en POST, des données récupérées / collectées en JS.
 

OTP

WRInaute accro
Re: Récupérer des valeurs issues de javascript pour les mettre en base MySQL

Merci pour ta réponse.

J'avais vu cette piste.
Sachant que pour moi Ajax évoque plus un produit d'entretien qu'autre chose (autrement dit, je n'y connais rien du tout), penses-tu qu'on peut s'y mettre assez vite ? (Je ne veux pas passer des plombes sur ce truc qui reste secondaire dans mon travail).
Il n'y a pas d'autre moyen pour renvoyer vers une page php dédiée au stockage de mes valeurs ?
 

UsagiYojimbo

WRInaute accro
Re: Récupérer des valeurs issues de javascript pour les mettre en base MySQL

C'est pas très compliqué une fois qu'on a compris le truc. Via jquery ça donnerait (en gros) :

Code:
$.get( "traitement.php", { latitude: results[0].geometry.location.lat(), longitude: results[0].geometry.location.lng() } )
  .done(function( data ) {
    //ici le retour après traitement
  });
 

OTP

WRInaute accro
Re: Récupérer des valeurs issues de javascript pour les mettre en base MySQL

Ok, je crois que je vois.
Je vais me lancer.
Je risque de revenir bientôt...

Merci !!!
 

OTP

WRInaute accro
Re: Récupérer des valeurs issues de javascript pour les mettre en base MySQL

J'y suis arrivé, merci.
 

spout

WRInaute accro
Un truc du genre:
PHP:
<span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">request</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">is</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'post'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $place </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">Places</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">newEntity</span><span class="syntaxkeyword">([</span><span class="syntaxstring">'latitude'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">request</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">data</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'latitude'</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> </span><span class="syntaxstring">'longitude'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">request</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">data</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'longitude'</span><span class="syntaxkeyword">)]);<br /></span><span class="syntaxdefault">    $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">Places</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">save</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$place</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault"></span>

Code:
if request.method == 'POST':
    place = Place(latitude=request.POST.get('latitude'), longitude=request.POST.get('longitude'))
    place.save()
:mrgreen:
 

OTP

WRInaute accro
Moi j'ai juste fait ça (mais je rappelle que je n'y connais rien et que l'essentiel pour moi est que ça fonctionne) :

httprequest = new XMLHttpRequest();
httprequest.open("GET", 'pagecible.php?type=' + type + '&name=' + name + '&lat=' + results[0].geometry.location.lat() + '&lng=' + results[0].geometry.location.lng(), false);
httprequest.send(null);
 

Discussions similaires

Haut