Ajax PHP lekérdezés

Ajax PHP lekérdezés
2018-11-01T19:39:09+01:00
2018-11-02T17:19:30+01:00
2022-08-11T07:41:48+02:00
bgal
Sziasztok!
Van egy adatbázis lekérdezésem ami a felhasználók pozícióját kérdezi le az adatbázisból:

<?php require 'csatlakozas.php'; $szelesseg = 0.0; $hosszusag = 0.0; $sql = "SELECT szelesseg,hosszusag FROM felhasznalok"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $szelesseg = $row["szelesseg"]; $hosszusag = $row["hosszusag"]; echo $szelesseg; echo $hosszusag; } } ?>
Ez sorban visszaadja az összeset: csak példák:
40.123420.123490.123410.123480.123470.1234 stb... egymás után.
Szeretném ezeket külön eltárolni szélesség és hosszúságokra.
adat[0] ->40.1234 és adat[1]->20.1234 stb...

//AJAX HÍVÁS: var szelesseg; var hosszusag; $.ajax({ method: 'post', url: 'kimutatas.php', dataType: 'text', data: {szelesseg:szelesseg,hosszusag:hosszusag}, success: function (data) { //IDE TÖRDELJE SZÉT NEKEM!!! }, error: function() { alert("hiba a hosszusag lekérésben"); } });
Ezután szeretném ha mindet egyenként kijelezné egy ikonnal a térképen:
A szelesseg helyére kerüljön a szélesség-ben kapott szám a hosszusag helyére kerüljön a hosszúságban kapott szám annyiszor ahány adat pár érkezett az adatbázisból.

bearsMarker = new H.map.Marker({lat: szelesseg, lng: hosszusag }, function addSVGMarkers(map){ //Create the svg mark-up var svgMarkup1 = '<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg">' + '<rect stroke="black" fill="blue" x="1" y="1" width="22" height="22" />' + '<text x="12" y="18" font-size="12pt" font-family="Arial" font-weight="bold" ' + 'text-anchor="middle" fill="red" >E</text></svg>'; // Add the first marker var bearsIcon = new H.map.Icon( svgMarkup1), bearsMarker = new H.map.Marker({lat: szelesseg, lng: hosszusag }, {icon: bearsIcon}); map.addObject(bearsMarker); }
Ennek kéne annyiszor lefutnia ahány szélesség és hosszúság érkezett az adatbázisból.
Ezt hogyan lenne érdemes elkészíteni?

Alapkód:SVG Graphic Markers - Maps API for JavaScript - HERE Developer

Köszönettel:
Gál Balázs
Mutasd a teljes hozzászólást!
A php fájlban json tömböt küldesz vissza válaszként, azon pedig szépen végigiterálva meghívod a javascript funkciót, ami elhelyezi a markereket.
Mutasd a teljes hozzászólást!

  • Esetleg egy kis keresgélés és egész jó példákat lehet találni (próbáld a demo-ját is )...
    Mutasd a teljes hozzászólást!
  • Sikerült visszaadnom a json tömböt.

    <?php require 'csatlakozas.php'; $data = array(); $sql = "SELECT szelesseg,hosszusag FROM felhasznalok"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { // $data['eredmeny'] = $row; $data = $row; } } echo json_encode($data); ?>
    Hogy iratom ki a tömb elemeit megfelelően hogy utána tudjak készíteni markereket?

    //AJAX HÍVÁS: $.ajax({ method: "POST", url: "../kezeles/kimutatas.php", dataType: "JSON", //data: {data}, success: function (data) { //$("#ide").html(data.eredmeny.szelesseg); //$("#oda").html(data.eredmeny.hosszusag); // for(var elem in data.eredmeny){ for(var elem in data){ console.log("Szélesség:"+elem.szelesseg); } // for(var elem in data.eredmeny){ for(var elem in data){ console.log("Hosszúság:"+elem.hosszusag); } }, error: function() { alert("hiba a lekérésben"); } }); Ez eddig ennyit ír ki: Szélesség:undefined Hosszúság:undefined
    Mutasd a teljes hozzászólást!
  • nincs szükséged két for ciklusra, egyen belül is ki tudsz iratni két értéket (vagy bármennyit), ez az egyik, a másik pedig az, hogy ha a két ciklust kikommenteled és beraksz egy console.log(data)-t akkor mit ír konzolba?

    while($row = $result->fetch_assoc()) { // $data['eredmeny'] = $row; $data = $row; }
    itt úgy nézem a datát újra és újra felülírod, de majd látni fogod úgyis, hogy mit küld a php ha kiíratod ajaxból a választ.
    Mutasd a teljes hozzászólást!
  • A kódban amit küldtél úgy gondoltam hogy azzal az összes felhasználó pozícióját átadom sorban. De akkor tévedtem ezek szerint.

    Kérted hogy írassam ki simán a log-ot:

    Object { szelesseg: "40.1234", hosszusag: "20.1234" }
    Mutasd a teljes hozzászólást!
  • How to parse JSON data with jQuery / JavaScript? itt talalsz par modszert a valasz parseolasara
    Mutasd a teljes hozzászólást!
  • És hogyan adom át az összes szélességet és hosszúságot ami egy oszlopban van?
    Hiszen a lekérdezésem akkor felül írja a data változót folyamtosan..., de közben nem tudom elküldeni a json adatot, arra rájöttem!

    <?php require 'csatlakozas.php'; $data = array(); $sql = "SELECT szelesseg,hosszusag FROM felhasznalok"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { // $data[] = $row["szelesseg"]; // $data[] = $row["hosszusag"]; $data = $row; } } echo json_encode($data); ?>
    Mutasd a teljes hozzászólást!
  • Csak kérdésként:
    Tanulmányoztad, elemezted, megértetted a "2018.11.02. 05:49"-kor adott linken a kódokat?
    Mutasd a teljes hozzászólást!
  • Igen nézegettem, de az is igaz hogy elsőre csinálok ilyet gondolom erre rájöttél akkor amikor rákérdeztem ilyenekre. Ha pontosan tudnám hogy mit csinálok nem kérdeztem volna rá.
    Láttam hogy az adatokat egyesével széttördeli, és az id-t adja át az ajax. Eszerint csináltam meg reggel a kódomat amit válaszként el is küldtem, de nem adott rá nekem maximális választ a kérdéseimre. Így arra gondoltam hogy még kell egy-két gondolatmenet azoktól akik szívesen segítenek.
    Mutasd a teljes hozzászólást!
  • PHP 5 Arrays php oldalon létrehozol egy arrayt és a while ciklusban feltöltöd a lekérdezés eredményével
    Mutasd a teljes hozzászólást!
abcd