IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Auto-complétion [Ajax,PHP & MySQL]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut [PHP-JS] Auto-complétion [Ajax,PHP & MySQL]
    Bonjours,

    J'ai essaye de mettre une autocompletion d'ajax sur un site. Mais seul les data commencant par un nombre ou par t s'affiche..
    Voici le code de options.php! les deux autres pages, je ne les ai pas modifie.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?php
    header('Content-Type: text/xml;charset=utf-8');
    echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?><options>"));
    if (isset($_GET['debut'])) {
        $debut = utf8_decode($_GET['debut']);
    } else {
        $debut = "";
    }
    $debut = strtolower($debut);
    include('db.php');
        mysql_select_db($database_conn, $conn);
        $verif_group = "SELECT DENUMIRE from bucstr";
        $recordset = mysql_query($verif_group, $conn) or  die(mysql_error());
        while ($row = mysql_fetch_assoc($recordset)) {
             $liste[] = $row['DENUMIRE'];
        } 
    function generateOptions($debut,$liste) {
        $MAX_RETURN = 20;
        $i = 0;
        foreach ($liste as $element) {
            if ($i<$MAX_RETURN && substr($element, 0, strlen($debut))==$debut) {
                echo(utf8_encode("<option>".$element."</option>"));
                $i++;
            }
        }
    }
    generateOptions($debut,$liste);
    echo("</options>");
    ?>

    Merci d'avance.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Personne ne voit le probleme? Moi ca fait maintenant 3 jours que je cherche et je ne peut pas avancer sans ca.
    Merci encore.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Il y a une chance sur quatre que le problème ne vienne pas du code php. Utilisez des sorties intermédiaires partout, echo en php, alert en javascript pour trouver où est-ce que ça coince. Généralement, celui qui pose la question est mieux placé que les lecteurs du forum pour débuguer un morceau de code.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci de ta reponse. Mais j'ai inserer dans 35 lignes de code 5 echo ( entre chaque "fonction" ) et les 5 echo apparaisse. Mais quand je tape ?debut=e, il m'affiche :

    <?xml version="1.0" ?>
    <options>12345</options>
    Alors que j'ai 27000 donne dans ma base et qu'il y en a quelques centaine commencant par "E".

    Je ne comprend pas. C'est quand on tombe sur un probleme dans ce genre qu'on a envi de tout arreter. lol

    D'autre idee, astuces, pistes,..?
    Merci

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Continuer de chercher. Il ne faut pas utiliser "echo" pour voir si le code s'exécute jusque là, mais pour savoir que valent des variables bien choisies à un moment donné de l'exécution. Par exemple ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $verif_group = "SELECT DENUMIRE from bucstr";
    echo "$verif_group<br />\n";
    $recordset = mysql_query($verif_group, $conn) or  die(mysql_error());
    Récupérer la chaine $verif_group, la copier dans phpmyadmin, et regarder ce que la base de données renvoie. Un tel test permet de voir si l'erreur est avant ou après la requête $sql.

Discussions similaires

  1. [MySQL] auto complétion coté serveur source mysql
    Par cseb73 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/09/2008, 13h41
  2. Réponses: 5
    Dernier message: 14/06/2006, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo