Carregamento Sob demanda

1 resposta
jquerymysqlphp
R

Boa tarde à todos…Há um problema com esse método…Tenho os script no meu Xammp de como fazer carregamento sob demanda com JQuery (Não sou muito fã dessas bibliotecas), PHP e Mysql (Antigo)…
Ao executar essa aplicação em Mysql ele funciona perfeitamente, porém quando troco MYSQLI ele não carrega os Dois primeiros registros definidos por um “LIMIT” e fica dando load infinito (Imagem GIF)…Os erros ao mudar para MYSQLI são:

Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 4
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 6
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 7
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 8
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 9
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 19
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\load.php on line 20
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\load.php on line 22
{“totalResults”:null,“dados”:null}

Os scripts são

<?php
    sleep(1); //Coloquei Sleep 1 para ver o GIf carregando antes de trazer +2 registros ao clicar em Carregar mais
    mysqli_connect("localhost", "root", "");
    mysqli_select_db("exemplo");

    $init     = $_POST['init'];
    $max     = $_POST['max'];

    $result = array(
        'totalResults' => 0,
        'dados' => null
    );


    $queryTotal = mysqli_query("SELECT * FROM usuarios");
    $result["totalResults"] = mysqli_num_rows($queryTotal);

    $queryDados = mysqli_query("SELECT nome FROM usuarios LIMIT $init, $max");

    if($result["totalResults"] > 0){

        while($res = mysqli_fetch_assoc($queryDados)){ $arr[] = $res; }

        $result["dados"] = $arr;

    }

    echo json_encode($result);
?>    
funcção JQuery 

$(function(){

    carregar(0, 2, 'load.php');

    $("a.carregar-mais").click(function(evento){
        evento.preventDefault();
        var init = $("ol li").length;

        carregar(init, 2, 'load.php');

    });

    function carregar(init, max, url){
        var dados = { init : init, max : max };

        $("ol").append('<li><img src="load.gif"></li>');

        $.post(url, dados, function (data) {

            $("ol li").last().remove();

            for(i = 0; i < data.dados.length; i++){
                $("ol").append('<li>'+data.dados[i].nome+'</li>');
            }

            var conta = $("ol li").length;

            if(conta == data.totalResults) {
                $("a.carregar-mais").hide();
            }

        }, "json");
    }

});

O index para teste

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Carregamento sob demanda com AJAX</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="functions.js"></script>
</head>

<body style="background:#617299;">

    <ol></ol>

    <hr>

    <a href="#" class="carregar-mais">Carregar Mais</a>

</body>
</html>

1 Resposta

P

amigo vamos la

primeiro, vc esta usando uma forma antiga de utilizar essa api mysql. veja os warnings.

por exemplo:

// coloca esse sleep no seu gif, nao no php;
// sleep(1) ; 
$ conn= mysqli_connect("localhost", "root", "");
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db($conn, "exemplo"); // viu a diferença ?
...
if( $queryTotal = mysqli_query($conn, "SELECT * FROM usuarios")) {
  // faz query com limit/max
}
// mostra json
// fim
mysqli_close($conn);

viu como eu chamo as funções passando a referencia a variavel $conn?
viu como eu verifico se conectou-se ao banco com sucesso?

pense nisso

Criado 8 de setembro de 2016
Ultima resposta 9 de set. de 2016
Respostas 1
Participantes 2