PHP + MySQL - 从数据库自动完成而不从表获取数据

标签 php jquery json forms jquery-ui-autocomplete

我正在进行一个关于讨论室服务的小型大学项目。现在我的任务是实现订购名称的自动完成功能。我已经用谷歌搜索了一些教程。我不确定出了什么问题,当我尝试输入名称时,前面没有输入任何数据。 这是我的表单代码:

<?php
$host = "localhost";
$user = "root";
$pass = "";
$name = "pinjamruang";
$koneksi = mysqli_connect($host, $user, $pass, $name);

//Periksa apakah koneksi berhasil
if(mysqli_connect_errno()){
    echo "Error: ";
    echo mysqli_connect_error();
    echo "<br   /> Error Code: ";
    echo mysqli_connect_errno();
    die();
}
$sql = "SELECT * FROM ruangan
        WHERE id = $_GET[id]";
$hasil = mysqli_query($koneksi,$sql);
$row = mysqli_fetch_assoc($hasil);
$sql2 = "SELECT * FROM shift
        WHERE id = $_GET[shift]";
$hasil2 = mysqli_query($koneksi,$sql2);
$row2 = mysqli_fetch_assoc($hasil2);
?>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
  $(function() {
    $( "#typeahead" ).autocomplete({
      source: 'typeaheads.php';
    });
  });
</script>
<h1> Konfirmasi Pemesanan Ruang <?php echo $row['kode']; ?></h1><br>
<form class="form-horizontal" action="process/process-order-ruang.php" method="post">
    <div class="form-group">
        <label for="inputNamaPemesan" class="col-sm-2 control-label">Nama</label>
        <div class="col-sm-10">
            <input type="text" name="nama_pemesan" class="form-control" id="typeahead" placeholder="Nama Pemesan">
        </div>
    </div>
    <div class="form-group">
        <label for="inputKeperluan" class="col-sm-2 control-label">Keperluan</label>
        <div class="col-sm-10">
            <select name="keperluan" class="form-control" id="inputKeperluan">
                <option value="Diskusi Belajar">Diskusi Belajar</option>
                <option value="Diskusi Tugas">Diskusi Tugas</option>
                <option value="Dokumentasi">Dokumentasi</option>
                <option value="Lain-lain">Lain-lain</option>
            </select>
        </div>
    </div>
    <div class="form-group">
        <label for="inputWaktu" class="col-sm-2 control-label">Waktu</label>
        <div class="col-sm-10">
        <input type="text" class="col-sm-5" name="waktu" value="<?php $row2['shift'];
                        $timestamp = strtotime($row2['shift']);
                        $waktuk = date('H.i A', $timestamp);
                        $int = (int)$waktuk;
                        echo $int; ?>:00" disabled> - <input type="text" class="col-sm-5"value="<?php $row2['shift'];
                        $timestamp = strtotime($row2['shift']);
                        $waktuk = date('H.i A', $timestamp);
                        $int = (int)$waktuk;
                        echo $int+2; ?>:00" disabled>
        </div>
    </div>
    <?php $shift = $_GET['shift'];
          $ruangan = $_GET['id'];?> 
    <input type="hidden" value="<?php $int2 = (int)$shift;?>" name="shift">
    <input type="hidden" value="<?php $int3 = (int)$ruangan;?>" name="ruangan">
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-primary">Pesan</button>
        </div>
    </div>
</form>

这是我的代码,它应该从我的表返回 json 数据

<?php
$host = "localhost";
$user = "root";
$pass = "";
$name = "pinjamruang";
$koneksi = mysqli_connect($host, $user, $pass, $name);
//connect with the database

//get search term
$searchTerm = $_GET['term'];
//get matched data from table
$query = $koneksi->query("SELECT * FROM user 
                          WHERE nama LIKE '%".$searchTerm."%' ORDER BY nama ASC");
while ($row = $query->fetch_assoc()) {
    $data[] = $row['nama'];
}
//return json data
echo json_encode($data);
?>

任何帮助将不胜感激。非常感谢!

最佳答案

在脚本中使用以下代码。从源中删除分号。您可以使用冒号作为其他参数。

<script>
    $(function() {
        $( "#typeahead" ).autocomplete({
            source: 'typeaheads.php'
        });
    });
</script>

关于PHP + MySQL - 从数据库自动完成而不从表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50343712/

相关文章:

php - parse_url() 在传递 example.com 时返回错误

php - 数据库树到多维数组

javascript - Coldfusion 的 cfpdfform 的 PHP 等价物

javascript - 使用 AJAX 从 PHP 数组填充表格内容

javascript - 单击按钮时暂停 mb.YTPlayer 元素的所有实例

javascript - 单击事件不会在 ajax 加载的对象上触发

javascript - 将数字字段中的数字与新创建的 js div 的数量相关联

javascript - jquery .each() 不工作

php - 使用 jquery 操作 JSON 数组

java - 使用 Gson 从 JSOn 对象读取每一行