Проблема с json связью javascript-php - PullRequest
0 голосов
/ 25 октября 2018

Мне нужна небольшая помощь от вас, ребята, потому что я не могу понять, что происходит с моим кодом JavaScript.

У меня есть эти строки кода в моем файле php: (Я уверен, что мой PHPфайл работает правильно)

PHP файл:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<?php
header('Access-Control-Allow-Origin: *');
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("127.0.0.1", "root", "", "mysql3");
// Check connection
if($link === false) {
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

$user_id =$_POST['user_id'];
$book_id =$_POST['book_id'];
$game_id =$_POST['game_id'];
$site_id =$_POST['site_id'];

//Attempt insert query execution
$query = "SELECT site_id FROM components WHERE user_id='$user_id' && book_id='$book_id' && game_id='$game_id' ORDER BY site_id DESC LIMIT 1";
$res = mysqli_query($link,$query);
$result = array();
$res = mysqli_query($link,$query) or die(mysqli_error($link));
while($row = mysqli_fetch_assoc($res)){
 $result=$row['site_id'];
 $myJSON = json_encode($result);
}
file_put_contents('data.json', $myJSON);//save my data json in file json
echo $myJSON;
//$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
//fwrite($myfile, $result);
//fclose($myfile);

// Close connection
mysqli_close($link);
?>

скрипт:

<script>
    function load3() {
      var flag1 = true;
      do{
        var selection = window.prompt("Give the User Id:", "Type a number!");
            if ( /^[0-9]+$/.test(selection)) {
            flag1=false;
            }
        }while(flag1!=false);
    $("#user_id").val(selection)

      var flag2 = true;
      do{
        var selection2 = window.prompt("Give the Book Id:", "Type a number!");
        if ( /^[0-9]+$/.test(selection2)) {
            flag2=false;
            }
        }while(flag2!=false);
    $("#book_id").val(selection2)

      var flag3= true;
      do{
        var selection3 = window.prompt("Give the Game Id:", "Type a number!");
        if ( /^[0-9]+$/.test(selection3)) {
            flag3=false;
            }
        }while(flag3!=false);
    $("#game_id").val(selection3)

         var mydata =JSON.parse(data);
  alert(mydata[0].name);//get name's value 
}
  </script>

К сожалению, я вижучто значение «4» не может быть возвращено моей функции js в моем скрипте.Что я делаю не так?

1 Ответ

0 голосов
/ 25 октября 2018

создайте вручную ваш файл .json (пустой) в моем примере это data.json

ваш HTML-файл:

<!DOCTYPE html>
<html>
<head>
//call your file data.json
<script type="text/javascript" src="data.json"></script>

<script type="text/javascript">
  //use your file data.json
  var mydata =JSON.parse(data);
  alert(mydata[0].name);//get name's value 
</script>
</head>
<body>
</body>
</html>

php файл:

<?php

//example data
$myArr = [];
$myArr['name'] = "John";
$myArr['age'] = 30;
$myArr['city'] = "New York";
/*
or object
$myArr = stdClass();
$myArr->name = "John";
$myArr->age = 30;
$myArr->city = "New York";
*/


$myJSON = json_encode($myArr);

file_put_contents('data.json', "data ="."'"."[".$myJSON."]';");//save my data json in file json
echo $myJSON;
?>

php поместил данные в файл data.json следующим образом: data = '[{"name": "John", "age": 30, "city": "New York0"}]';

В этой ситуации вы можете использовать файл html, написанный ранее.Когда вы будете повторно использовать php-файл, он перепишет файл json.Я надеюсь, что это полезно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...