Lorsque ajax demande des données à la base de données en php et les renvoie à javascript en utilisant JSON, certaines données ne peuvent pas être affichées. Pouvez-vous s'il vous plaît résoudre ce problème ?
过去多啦不再A梦
过去多啦不再A梦 2017-06-13 09:22:04
0
1
915

Ce que j'ai écrit est une fonction de filtrage. J'ai utilisé Ajax pour demander des informations à la base de données en PHP et je les ai renvoyées à JavaScript en utilisant JSON. Cependant, lors de la saisie de contenu pertinent, certains filtres peuvent être lus à partir de la base de données, tandis que d'autres ne le peuvent pas. pensez Demandez comment le résoudre.

code 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;

code 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);
}

Selon le code ci-dessus, parfois a.length changera, mais parfois il ne changera pas (généralement lorsqu'il y a trop de résultats filtrés). Cependant, si je remplace la dernière ligne de code en php par print_r($json), il y aura une sortie.

过去多啦不再A梦
过去多啦不再A梦

répondre à tous(1)
仅有的幸福

json nécessite un encodage utf8, vérifiez si les données obtenues à partir de la base de données sont toutes codées en utf8.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal