JQuery Tokeninput очень медленно

0

Я использую JQuery TokenInput с php 5.5.8. Я беру запрос из своей базы данных, но он очень медленный. Прежде чем он отобразит результат, потребуется некоторое время. В моей базе данных (всего 2 строки)

Это мой код, который генерирует json для меня после выполнения поиска

Это мой код, который я использую для поиска. Я не знаю, почему это так медленно

<?php
session_start(); 
# Connect to the database

require('fonctions.php');
require('configurations.php');
//require('encodage.php');


$q=addslashes($_REQUEST['q']);

$q =mysqli_real_escape_string($connection, $q);



//On effectue une opération que si on a mis au moins 1 caractere
$notre_tableau=explode(',',$q);


$compter_tableau=count($notre_tableau);

$username =  $_SESSION['username'];
$id_super_admin = $_SESSION['id_super_admin'];


//On recupere là où l'id super admin est egale a l'id du super admin

$req_search = "SELECT id_ojm_peoples, nom, prenom, countrycode, id_city  

FROM  ojm_peoples

WHERE id_super_admin='$id_super_admin' AND  ";

##########################################################################################


for ($i = 0; $i < $compter_tableau; $i++) 
{
$notremotchercher=trim($notre_tableau["$i"]);


if($i==$compter_tableau) { $liaison="AND"; } else { $liaison=""; }

if($i!=0) { $debutliaison="AND"; } else { $debutliaison=""; }

//On n'effectue la recherche que si c'est un truc non vide

if($notremotchercher!='')
{
$req_search .= "$debutliaison (nom LIKE '%$notremotchercher%' OR prenom LIKE '%$notremotchercher%')  $liaison";
}
/////////////////////
/////////////////////

}
##########################################################################################


############
//echo "$req_search<br><br>";
# Perform the query


if($q!='')
{
    $requete=mysqli_query($connection, "$req_search LIMIT 20") or die(mysqli_error($connection));



    $tableau=array();

    $tableau_valeur=array();



    # Collect the results
    while($affichage = mysqli_fetch_assoc($requete)) 
    {
    $id_ojm_peoples =  $affichage ['id_ojm_peoples'];
    $nom =  stripslashes($affichage ['nom']);
    $prenom =  stripslashes($affichage ['prenom']);

    $countrycode =  stripslashes($affichage ['countrycode']);
    $id_city =  $affichage ['id_city'];

    $nom_pays = nom_pays($countrycode, 'Name');

    $nom_ville = nom_ville($id_city, '/');

############################################################################
    //On recupere l'url de l'image de cette eglise
    $select = mysqli_query($connection, "SELECT url_avantar FROM ojm_avantar WHERE 

id_super_admin='$id_super_admin' AND id_ojm_peoples='$id_ojm_peoples'  AND is_main='Oui' LIMIT 1") or die(mysqli_error($select));

    $prenons = mysqli_fetch_assoc($select);

    mysqli_free_result($select);

    $url_image_article = $prenons['url_avantar'];




        if($url_image_article!='')
        {
        $mettre_debut = "<img src='phpthumb/phpThumb.php?src=

$url_image_article&w=80&fltr[]=ric|50|20&f=png' align='middle' border='0'>";
        }
        else
        {
        $mettre_debut = "<img src=images/nobody.png width=20>";
        }
##########################################################################################

##      

    $nom_prenom="$nom $prenom ";


    $a_mettre="$mettre_debut $nom_prenom <br/><span class='actuelle'>$nom_ville / $nom_pays</span> ";


        array_push($tableau,$a_mettre);

        array_push($tableau_valeur,$id_ojm_peoples);



    }

    mysqli_free_result($requete);

    $compter = count($tableau);

//echo $req_search;

//echo "<h1>$compter</h1>"; 
    //Debut de l'affichage de la forme Json 
    echo '[';


    //On utilise notre boucle for pour generer ce qu'il faut pour affiche le tableau
    $suite=',';
    for($i=0;$i<$compter;$i++)
    {

    if($i==($compter-1)) { $suite='';  }

    $valeur_tableau = $tableau_valeur["$i"];

    $valeur_tableau_i = $tableau["$i"];

    //echo "{\"id\":\"",$tableau_valeur["$i"],"\", \"name\":\"",$tableau["$i"],"\"}$suite ";



    echo "{\"id\":\"$valeur_tableau\", \"name\":\"$valeur_tableau_i\"}$suite ";

    }
    //Fin de l'affichage de la forme Json 
    echo ']';
}
//Fin du cas ou le mot rechercher n'est pas vide

mysqli_close($connection);


?>

И это мой код configurations.php

    $mysqlport = @getenv('S2G_MYSQL_PORT');

    $mysqlhost = "localhost:".@$mysqlport;

    //Le host recuperé du formulaire
    $mysql_host='localhost';

    $root = 'root';
    $dbpassword ='';    

    $db = 'johnmax';

/*Si le port mysql ne donne rien, on donne la valeur donne par defaut emise par le formulaire*/

    if (@$mysqlport=="") 
    {

        $mysqlhost = $mysql_host;
    }

/////////////////// 





    $connection=mysqli_connect($mysqlhost,  $root, $dbpassword, $db) or die(mysqli_connect_error($connection)); 
Теги:
jquery-tokeninput
easyphp

1 ответ

0
Лучший ответ

Все выглядит нормально в коде. В прошлом я столкнулся с чем-то подобным, и в моем случае это было связано с тем, что я был локальным, и я использовал localhost как хост сервера вместо 127.0.0.1 при использовании easyphp.

Поэтому замените localhost на 127.0.0.1 в вашем файле конфигурации.

Кроме того, если вы используете Php 5.5, почему бы вам не использовать json_encode вместо того, чтобы вручную создавать json. Ваш способ генерации json вручную также может генерировать ошибку вдоль дороги.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню