Данные не загружаются из базы данных при загрузке (php + ajax) - PullRequest
0 голосов
/ 06 июля 2018

Примечание: я хочу, чтобы это точно работало Показать данные из базы данных при загрузке

Я делаю живой поиск с использованием ajax, все хорошо, но есть только одна проблема, которую мне нужно решить, так что проблема в том, что ajax не работает при загрузке страницы, я имею в виду, что я получаю данные с URL-адреса, как этот. то есть, http://localhost/basic_hackings/search.php?q=usman, здесь "üsman" - это данные, которые ищутся. Так что все работает правильно, но при обновлении это исчезает, я также использую onload в jQuery, но все напрасно. см. код из более подробной информации.

ajax_search.php:

<?php 
$host = "localhost";
$dbUser = "root";
$password = "";
$database = "basic_hackings";

$dbConn = new mysqli($host,$dbUser,$password,$database);

if($dbConn->connect_error)
{
    die("Database Connection Error, Error No.: ".$dbConn->connect_errno." | ".$dbConn->connect_error);
}

$search_data = $_GET['q'];
$qry = "select first_name, last_name, email, phone, city, country from customers where first_namelike '%$search_data%'";

$rs = $dbConn->query($qry);

$fetchAllData = $rs->fetch_all(MYSQLI_ASSOC);

$createTable = '<table>';

$createTable .= '<tr>';
$createTable .= '<th>First Name</th>';
$createTable .= '<th>Last Name</th>';
$createTable .= '<th>Email</th>';
$createTable .= '<th>Phone</th>';
$createTable .= '<th>City</th>';
$createTable .= '<th>Country</th>';
$createTable .= '</tr>';


foreach($fetchAllData as $customerData)
{
    $createTable .= '<tr>';
    $createTable .= '<td>'.$customerData['first_name'].'</td>';
    $createTable .= '<td>'.$customerData['last_name'].'</td>';
    $createTable .= '<td>'.$customerData['email'].'</td>';
    $createTable .= '<td>'.$customerData['phone'].'</td>';
    $createTable .= '<td>'.$customerData['city'].'</td>';
    $createTable .= '<td>'.$customerData['country'].'</td>';
    $createTable .= '</tr>';    
}

$createTable .= '</table>';

echo $createTable;

$rs->close();

$dbConn->close();

?>

и ajax_search.js:

$(document).ready(function() {
    $('#form1').submit(function(e) {
        e.preventDefault();
        var search_data = $('#search_data').val();
            $.ajax({
                url: "ajax_search.php/?q=" + search_data,
                type: "GET",
                data: new FormData($("#form1")[0]),
                contentType: false,
                processData: false,
                beforeSend: function(data) {
                    $(".main_search_content").html("");
                    $(".main_search_content").addClass("searching");
                },
                success: function(data) {
                    setTimeout(function() {
                        if (!(data == "")) {
                            $(".main_search_content").html(data);
                        }
                        else {
                            $(".main_search_content").html("Nothing Found!");
                        }
                        $(".main_search_content").removeClass("searching");
                    }, 500)
                }
            });
            history.pushState(null, null, "?q=" + search_data);
        }
    });
});

а вот site.js, где я использую onload, см .:

$(window).on("load", function() {
    $.ajax({
        url: 'ajax_search.php',
        success: function(data){
            $(".main_search_content").html(data);
        }
    });
});
...