cari

Rumah  >  Soal Jawab  >  teks badan

Apabila ajax meminta data daripada pangkalan data dalam php dan mengembalikannya kepada javascript menggunakan JSON, beberapa data tidak boleh dipaparkan Bolehkah anda menyelesaikan masalah ini?

Apa yang saya tulis ialah fungsi penapisan Saya menggunakan Ajax untuk meminta maklumat daripada pangkalan data dalam PHP dan menggunakan JSON untuk menghantarnya kembali ke JavaScript Walau bagaimanapun, apabila memasukkan kandungan yang berkaitan, beberapa penapis boleh dibaca daripada pangkalan data, manakala yang lain tidak. Saya fikir Tanya bagaimana untuk menyelesaikannya.

kod javascript:

submitElement.addEventListener('click',function(event){
     if(searchDescription === 1){
         search = filterByTitleElement.value;
     }else if(searchDescription === 2){
         search = filterByDescriptionElement.value;
     }

     //将输入的搜索信息传递给php文件,让其再数据库中找到相应的匹配项。

         var xmlhttp;
         if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
             xmlhttp = new XMLHttpRequest();
         }
         else {// code for IE6, IE5
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.onreadystatechange = function () {
             if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                 a = eval('(' + xmlhttp.responseText + ')');
                                  tableDisplay.innerHTML = a.length;
                 }
             }
         };
         xmlhttp.open("GET", "SearchDeal.php?inputMessage=" + search + "&searchdescription=" + searchDescription, true);
         xmlhttp.send();
 });

 function pageForDisplay(number){
     var result = "<thead><tr><td>Search Result</td></tr></thead><tr><td><table border=\"1\" id=\"inside\">";
     for(var i = 0; i < 5 ;i++){
         result = result + " <tr><td><p class=\"photoInside\"><a href=\"DetailsPage.php\"><img src=\"travel-images/square-medium/" + a[number + i]['PATH'] +"\"></a>" +
             "<h3><a href=\"DetailsPage.php\">" + a[number + i]['Title'] +"</a></h3>" +
             "<p>" + a[number + i]['Description'] + "</p>" +
             "</p></td></tr>";
     }
      result = result + "</table></td></tr>";
     return result;

kod php:

     $messageForSearch = $_GET["inputMessage"];
$messageForNumber = $_GET["searchdescription"];
$conn = mysqli_connect("localhost","root","","travel");
if($messageForNumber == 1){
    $sql = "SELECT ImageID,Title,Description ,PATH FROM travelimage where Title REGEXP '[$messageForSearch]'";
}else if($messageForNumber == 2){
   $sql = "SELECT ImageID,Title,Description ,PATH FROM travelimage where Description REGEXP '[$messageForSearch]'";
}
$a = mysqli_query($conn,$sql);
$json = mysqli_fetch_all($a,MYSQLI_ASSOC);
//print_r($json);
echo json_encode($json);
}

Mengikut kod di atas, kadangkala a.length akan berubah, tetapi kadangkala ia tidak akan berubah (biasanya apabila terdapat terlalu banyak hasil yang ditapis). Walau bagaimanapun, jika saya menggantikan baris terakhir kod dalam php dengan print_r($json), akan ada output.

过去多啦不再A梦过去多啦不再A梦2746 hari yang lalu944

membalas semua(1)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-06-13 09:24:04

    json memerlukan pengekodan utf8, semak sama ada data yang diperolehi daripada pangkalan data semuanya dikodkan utf8.

    balas
    0
  • Batalbalas