javascript binnen php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joren vh

joren vh

12/12/2013 14:11:53
Quote Anchor link
Hallo,

Voor een mobiele web app zit ik met het volgend probleem:
Ik haal via javascript de locatie op van mijn gebruiker en aan de hand van een ajax call vervolgens de temperatuur op zijn locatie.
Nu dien ik uit mijn database aan de hand van de temperatuur een row op te halen.

Maar hoe kan ik aan mijn temperatuur aan (javascript) in php? Of moet ik dit volledig anders aanpakken?

Met vriendelijke groeten,
Joren
 
PHP hulp

PHP hulp

21/11/2024 19:51:07
 
- Ariën  -
Beheerder

- Ariën -

12/12/2013 14:15:04
Quote Anchor link
Je hebt n.a.v. de AJAX-call de coordinaten al beschikbaar voor in PHP, waarmee je je temperatuur ophaalt.
 
Joren vh

joren vh

12/12/2013 14:18:04
Quote Anchor link
Dit volg ik even niet goed,

Dus aangezien ik mijn ajax call in js al heb gedaan, kan ik deze in php al gebruiken? Op welke manier dan?

Misschien even voor jullie gemak mijn code posten.

app.js
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
57
58
59
60
61
62
63
64
65
66
67
68
69
$("document").ready(function() {
                //checken of geolocation is toegestaan, als deze is toegestaan wordt de functie success uitgevoerd!
                  if(navigator.geolocation) {
                      navigator.geolocation.getCurrentPosition(success);
                  }
                  else $(".test").append("Locatie bepaling dient toegestaan te worden voor het gebruik van deze webapp!");
                  //locatie weergeven en integratie van google maps map met je positie!
                  function success(position) {
                      $(".test").append("geoloaction succesvol!");
                      var lat = position.coords.latitude;
                      var longi = position.coords.longitude;
                      $(".location").append("<li>" + lat + "</li><li>" + longi +"</li>");
                      console.log(lat);
                      console.log(longi);

                      var coords = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
  
                      var options = {
                        zoom: 15,
                        center: coords,
                        mapTypeControl: false,
                        navigationControlOptions: {
                            style: google.maps.NavigationControlStyle.SMALL
                        },
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                      };
                      var map = new google.maps.Map(document.getElementById("map-canvas"), options);

                      var marker = new google.maps.Marker({
                          position: coords,
                          map: map,
                          title:"You are here!"
                      });
                      WeatherRequest(position);
                  }

                  //temperature
                  function WeatherRequest(position){
                      console.log("succes");
                      console.log("init");
                      var lat = position.coords.latitude;
                      var longi = position.coords.longitude;
                    $.ajax({
                        //api.openweathermap.org/data/2.5/weather?lat=35&lon=139
                        url: "http://api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + longi + "&units=metric",        
                        dataType: "jsonp",
                        success: function(json) {
                            console.log(json);
                            console.log("succes function WeatherRequest");
                            $(".location").append("<li>De temperatuur op uw momentele plaats bedraagt: " + Math.round(json.main.temp) + " graden celcius</li>");
                        }
                    });
                }


                //device shake
                 $(this).gShake(function() {
          //alert("test");
          var random = Math.floor(Math.random()*10);
          $(".test123").text(random);
        });
                  
          //camera acces
          $(".browse").click(function(e) {
              e.preventDefault();
              $("#myFileInput").click();
          })
        var testvariabele = 10;
});


php in mijn index ziet er momenteel zo uit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    echo 'test';
    $connect = new mysqli('****', '****', '***', '***');
    $result = $connect->query('SELECT * from tblFotos WHERE seisoon = "zomer" ORDER BY rand() LIMIT 1' );
?>

 
Kris Peeters

Kris Peeters

12/12/2013 14:33:00
Quote Anchor link
Eerst een antwoord geven op je originele vraag.
Dan ga ik eens kijken naar die code die je postte.

Voorbeeld van wat je ongeveer wil:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
if (isset($_GET['ajax'])) {
  // doe hier mee wat je moet doen ...
  $lat = $_GET['location'][0];
  $lng = $_GET['location'][1];

  // jij haalt deze temperatuur op ...
  $temp = 32.5;  // strand op Hawaï
  // Wat je hier print, krijgt javascript terug

  echo $temp;
  
  // probeer ook eens om 'false' te printen
  //...
  
  // en niet vergeten: exit !!!  Anders wordt de hele pagina mee geprint en naar javascript gestuurd

  exit;
}

?>

<!doctype html>
<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
    $(document).ready(function() {
      $('#button').click(function(e) {
        // jij haalt deze locatie op zoals je het nu doet.  Ik zet het even hard coded
        var location = [50.84556757542811, 4.356973904299139];  // = Brussel Centraal (station)
        $.ajax({
          url: 'index.php?ajax=1',
          data: {location: location},
          success: function(message) {
            // message is de echo die de server stuurde
            if (message == 'false') {
              $('#messages').html('er is wat fout gelopen.');
            }
            else {
              $('#messages').html('Het is bij jou ' + message +' graden');
            }
          }
        });
      })
    });
    </script>
  </head>
  <body>
    <input type="button" value="KLIK" id="button">
    <div id="messages"></div>
  </body>
</html>
Gewijzigd op 12/12/2013 14:37:26 door Kris Peeters
 
Joren vh

joren vh

12/12/2013 14:38:56
Quote Anchor link
@Kris Peeters,

Wat bedoel je met: wat je hier print, krijgt javascript terug.
Ik snap het niet volledig..

Mvg,
Joren
 
Kris Peeters

Kris Peeters

12/12/2013 14:42:40
Quote Anchor link
De echo die je uitvoert op de server

echo 'Hello World'; (of zie lijn 10 van mijn vorige code)

die krijg je terug in de parameter van de success functie

success: function(message) { // message is hier dus gelijk aan 'Hello World!' // (of zie lijn 31 van mijn vorige code)
...
Gewijzigd op 12/12/2013 14:43:52 door Kris Peeters
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.