AJAX дает другой результат, чем MySQL - PullRequest
0 голосов
/ 13 января 2019

У меня проблемы с результатами AJAX. Я получил результаты от запроса от MySQL, но AJAX ответил по-другому. Я сравнил запрос как MySQL, так и AJAX. Запрос покажет только 1 строку или не отобразится вообще. Не могли бы вы показать мне, где происходит ошибка?

Это запрос

SELECT a.id_pendaftaran, l.nama_layanan, p2.asal_perusahaan, a.status from
 antrian a JOIN pengunjung p2 ON a.id_pendaftaran = p2.id_pengunjung JOIN 
layanan l ON a.id_layanan = l.id_layanan WHERE a.id_pendaftaran = 'gmFhJd2t0N'

А потом это AJAX

   $('.cekbutton').click(function(e){
        var id = $('#id_pendaftaran').val();
            e.preventDefault(); 
            $.ajax({
                url:"ajax.php",
                type:"GET",
                data : "id="+id,
                success : function(result) {
                    console.log(result);
                    var datanew = JSON.parse(result);
                    $('#layanan').val(datanew.layanan);
                    $('#nama_perusahaan').val(datanew.nama);
                    $('#status').val(datanew.status);
                    $('#layanan').prop('disabled', true);
                    $('#nama_perusahaan').prop('disabled', true);
                    $('#status').prop('disabled', true);
                }
            });
        });
<?php

    include "../connection.php";

    $q = mysqli_real_escape_string($koneksi, $_GET['id']);

    $query = mysqli_query($koneksi, "SELECT a.id_pendaftaran, l.nama_layanan,
 p2.asal_perusahaan, a.status from antrian a JOIN pengunjung p2 
ON a.id_pendaftaran = p2.id_pengunjung JOIN layanan l ON a.id_layanan = l.id_layanan 
WHERE a.id_pendaftaran = '".$q."'");
    if (mysqli_num_rows($query) == 1) {
        $row = mysqli_fetch_array($query);

        $nama = $row['asal_perusahaan'];
        $layanan = $row['nama_layanan'];
        $status = $row['status'];

        $myObj = array('hasil' => true, 'nama' => $nama, 'layanan' => $layanan, 'status' => $status);
    }
    else {
        $myObj = array('hasil' => false, 'nama' => "-", 'layanan' => "Belum terdaftar", 'status' => "-");
    }

    $myJSON = json_encode($myObj);
    echo $myJSON;
?>

Результат от MySQL

id_pendaftaran | nama_layanan  | asal_perusahaan | status |
gmFhJd2t0N     | Certification | ABC             | Waiting |

и это из консоли браузера

{"hasil":false,"nama":"-","layanan":"Belum terdaftar","status":"-"}

Если бы я изменил это уравнение (mysqli_num_rows($query) == 1), кроме этого, результат будет:

{"hasil":true,"nama":null,"layanan":null,"status":null}

1 Ответ

0 голосов
/ 13 января 2019

Может быть, ваш запрос возвращает более одной строки? if (mysqli_num_rows($query) == 1)

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