为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 实时搜索未获取数据库中的现有行

PHP 实时搜索未获取数据库中的现有行

PHP
精慕HU 2021-09-18 16:47:27
所以,我正在使用 php、jquery 和 mysql 进行 PHP 实时搜索。尽管数据库中存在数据,但正在搜索的数据未显示在我的页面中。rowCount() 显示正确的总行数,但页面未显示所有行。这是我的 php 代码<?phpif(isset($_POST['keyword'])){    $key = $_POST['keyword'];    $findPerusahaan = "SELECT * FROM perusahaan_instansi WHERE badan_hukum LIKE '%$key%' OR merek LIKE '%$key%' ";    $stmt = $conn->prepare($findPerusahaan);    $stmt->execute();    $data =$stmt->fetch();     foreach($stmt as $row){        echo $row['badan_hukum']."<br>";    }    //print_r($stmt);    echo $stmt->rowCount();}?>这是页面<input onkeyup="myFunction()" type="text" id="myInput" class="form-control" id="perusahaan" name="perusahaan" placeholder="PT....." required><div id="perusahaan"></div><script>function myFunction() {console.log($('#myInput').val());var keyword = $('#myInput').val();$.ajax({        type:'POST',        url: 'index.php?modul=form_submit&action=perusahaan',        data: {'keyword': keyword },        success:function(data){                console.log(data);                $('#perusahaan').empty();                $('#perusahaan').append(data);        }    });   }   </script>这是结果,感谢您的帮助
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

$data包含您的行数组,而不是$stmt!


改变这个:


$data = $stmt->fetch(); 

foreach($stmt as $row){

    echo $row['badan_hukum']."<br>";

}

对此:


$data = $stmt->fetchAll(); 

foreach($data as $row){

    echo $row['badan_hukum']."<br>";

}


查看完整回答
反对 回复 2021-09-18
?
ibeautiful

TA贡献1993条经验 获得超5个赞

尝试使用'%".$key."%'代替'%$key%':


<?php

if(isset($_POST['keyword'])){

$key = $_POST['keyword'];


$findPerusahaan = "SELECT * FROM perusahaan_instansi WHERE badan_hukum LIKE '%".$key."%' OR merek LIKE '%".$key."%' ";

$stmt = $conn->prepare($findPerusahaan);

$stmt->execute();

$data =$stmt->fetch(); 


foreach($stmt as $row){

    echo $row['badan_hukum']."<br>";

}

//print_r($stmt);

echo $stmt->rowCount();

}


查看完整回答
反对 回复 2021-09-18
  • 2 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信