PHP + MySQL - автозаполнение из базы данных, не получая данные из таблицы - PullRequest
0 голосов
/ 15 мая 2018

У меня есть небольшой проект колледжа об обслуживании комнаты для дискуссий.Прямо сейчас мне поручено реализовать функцию автозаполнения имени, которая ее заказывает.Я уже погуглил некоторые уроки.Я не уверен, что пошло не так, когда я пытаюсь напечатать имя, впереди не набираются никакие данные.Вот мой код формы:

<?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);
?>

Любая помощь будет принята с благодарностью.Большое спасибо!

1 Ответ

0 голосов
/ 15 мая 2018

Используйте приведенный ниже код в скрипте.удалить точку с запятой из источника.Вы можете использовать двоеточие для других параметров.

<script>
    $(function() {
        $( "#typeahead" ).autocomplete({
            source: 'typeaheads.php'
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...