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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    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 averti
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    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 émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    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 averti
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    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 émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    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