Размещать в php-файле и получать данные с помощью javascript

Итак, у меня есть php-файл, который печатает данные из таблицы, закодированной в формате JSON.

Это файл php:

<?php
include "db.php";
$id=$_POST['id'];
$data=array();
$q=mysqli_query($con,"select * from `sitios` where `id_sitio`='$id'");

while ($row=mysqli_fetch_object($q)){
$data[]=$row;
}

if($q)
echo "success";
else
echo "error";
}

echo json_encode($data);
?>

Это сценарий JavaScript:

$(document).ready(function() {
var id = decodeURI(getUrlVars()["id"]);
var dataString = "id=" + id;
$.ajax({
type: "POST",
url: "http://pedrofidalgo.pt/bilapoint/listar_sitio_single.php",
data: dataString,
crossDomain: true,
cache: false,
success: function(data) {
if (data == "success") {
$.getJSON(url, function(result) {
console.log(result);
$.each(result, function(i, field) {
var id = field.id_sitio;
var nome = field.nome;
var descricao = field.descricao;
var img = field.img;
var morada = field.morada;
var coordenada_x = field.coordenada_x;
var coordenada_y = field.coordenada_y;
document.getElementById("titulo").innerHTML =  nome;
document.getElementById("desc").innerHTML =  descricao;
document.getElementById("morada").innerHTML =  morada;
});
});
} else if (data == "error") {
alert("error");
}
}
});

});

Так что, в основном, у меня есть все элементы из базы данных select (list_all.php), а затем, когда я щелкаю по одному элементу, идентификатор этого элемента передается по URL-адресу, а я извлекаю его с другой стороны с помощью javascript. Я не использую GET, потому что это с phonegapp, поэтому я использую файл .js с именем getURI.js.

Сначала функция получает идентификатор, который был передан. Затем он отправляет сообщение в файл PHP, и файл PHP получает идентификатор и выполняет запрос для этого единственного элемента в базе данных. Успешно, я хотел сохранить все эти данные в переменных. Но по какой-то причине я получаю сообщение об ошибке на консоли, говоря

POST http://192.168.1.241:3000/proxy/http%3A%2F%2Fpedrofidalgo.pt%2Fbilapoint%2Flistar_sitio_single.php 500 (Internal Server Error)

Сервер отвечает правильно, потому что работают другие скрипты в приложении.

1

Решение

В PHP

<?php
include "db.php";
$id=$_POST['id'];
$data=array();
$q=mysqli_query($con,"select * from `sitios` where `id_sitio`='$id'");

while ($row=mysqli_fetch_object($q)){
$data[]=$row;
}

if($q)
echo json_encode(array('status' => true, 'data' => $data));
else
echo json_encode(array('status' => false, 'data' => $data));
?>

В Jquery

$(document).ready(function() {
var id = decodeURI(getUrlVars()["id"]);
var dataString = "id=" + id;
$.ajax({
type: "POST",
url: "http://pedrofidalgo.pt/bilapoint/listar_sitio_single.php",
data: dataString,
crossDomain: true,
cache: false,
success: function(data) {
data = JSON.parse(data);
if (data['status']) {
$.each(data['data'], function(i, field) {
var id = field.id_sitio;
var nome = field.nome;
var descricao = field.descricao;
var img = field.img;
var morada = field.morada;
var coordenada_x = field.coordenada_x;
var coordenada_y = field.coordenada_y;
document.getElementById("titulo").innerHTML =  nome;
document.getElementById("desc").innerHTML =  descricao;
document.getElementById("morada").innerHTML =  morada;
});
} else {
alert("error");
}
}
});
});
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]