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

JavaScript Discussion :

[AJAX] saisie automatique en rapport avec des données mysql


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut [AJAX] saisie automatique en rapport avec des données mysql
    Bonjour!

    Je viens de visiter une page de javatwits et je dois dire que celle là me plait bien

    http://javatwist.imingo.net/saisieauto4.php

    Mon problème est que je souhaite remplacer les valeurs des données issues d'une base mysql...
    J'ai essayé plusieurs choses dont celle-ci par exemple, pour remplir mon tableau tab:

    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
    <?php
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("base_setlist"); // Sélection de la base qui va bien
     
    $chanson = mysql_query("SELECT * FROM tb_chanson");
    while ($rep_chanson = mysql_fetch_array($chanson) )
    {
    $id_ch = $rep_chanson['id_chanson'];
    $tab_chanson[$id_ch] = $rep_chanson['titre'];
    }?>
     
    <script type="text/javascript">
     
    <?php //création du tableau js
    echo "var tab = new Array(\"" . implode("\",\"", $tab_chanson) . "\");";
    ?>
    //la suite du script de javatwist...
    bref, ça marche pôs...

    il y a un moyen de faire ça?
    J'ai essayé également de transposer mon tableau PHP en tableau JS via le tuto...

    J'ai vu qu'il y avait un tuto autocompletion avec AJAX
    mais ça me parait bien compliquer...

    merci de votre aide!

  2. #2
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    Salut !
    Apparemment le seul problème est le remplissage du array...
    pourquoi ne le remplis-tu pas directement ?
    je te suggère ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo "var tab=new Array(\n"
    if ($rep_chanson = mysql_fetch_array($chanson)) echo "\'$rep_chanson['titre']\'";
    while($rep_chanson = mysql_fetch_array($chanson)) echo ",\n\'$rep_chanson['titre']\'";
    echo "\n);"
    tu verras le code généré dans la page...

    @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    j'ai inséré ça comme ça:
    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
    <script type="text/javascript">
     
    <?php
    echo "var tab=new Array(\n" ;
    if ($rep_chanson = mysql_fetch_array($chanson)) 
    {
            echo "\'$rep_chanson['titre']\'" ;
            while($rep_chanson = mysql_fetch_array($chanson)) 
            { 
                    echo ",\n\'$rep_chanson['titre']\'" ;
            }
                    echo "\n);" ;
             
    }
    ?>
    et j'ai :
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING sur les echo $rep_chanson['titre']
    les \n c'est bien pour les espaces?

  4. #4
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    hi§
    excuse moi de n'avoir pas indenté : c'est ce qui t'a peut-être embrouillé...
    mais tu n'aurais pas eu de pb si tu n'avais pas rajouté les blocs.
    le while n'est pas contenu dans le if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    echo "var tab=new Array(\n" ;
    if ($rep_chanson = mysql_fetch_array($chanson))
            echo "\'$rep_chanson['titre']\'" ;
    while($rep_chanson = mysql_fetch_array($chanson)) 
            echo ",\n\'$rep_chanson['titre']\'" ;
    echo "\n);" ;
    }
    ?>
    yeute encore bien les quotes et les double quotes : je n'ai pas testé moi-même.
    @+
    PS : le \n c'est pour les retour chariot (saut de ligne)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    merci!

    effectivement, il doit y avoir un pb de " ou de '...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp1-7\www\site03\public\song4.php on line 28
    j'y jeterai un coup d'oeil plutard

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Il ne te manque pas des points "." pour concaténer tes chaînes ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par BisounoursJos
    Il ne te manque pas des points "." pour concaténer tes chaînes ?
    En fait, ça n'est pas une concaténation de chaine, puisque les "," doivent s'intercaler entre chaque $rep_chanson['titre']

    Je n'ai plus de message d'erreur avec ça, mais je ai toujours rien qui s'affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
    <?php
    echo "var tab=new Array(\n" ;
    if ($rep_chanson = mysql_fetch_array($chanson) )
            {echo "'"; echo $rep_chanson['titre']; echo "'" ; }
    while($rep_chanson = mysql_fetch_array($chanson)) 
            {echo ",'"; echo $rep_chanson['titre']; echo "'" ; }
    echo ",);" ;
     
    ?>
    Shériff, pourquoi tu ne mets pas de "{" et "}" ?... je croyais qu'il le fallait...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    ch'uis un gros béta, j'avais une occurence qui avait une apostrophe...

    addslashes devrait m'aider?

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Citation Envoyé par redwire
    Shériff, pourquoi tu ne mets pas de "{" et "}" ?... je croyais qu'il le fallait...
    Ils sont indispensables lorsque tu as plusieurs instructions dans ta condition/boucle.
    Ils ne sont pas obligatoires avec une seule instruction.
    Citation Envoyé par redwire
    addslashes devrait m'aider?
    Essaye toujours ..

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    addslashes, ça marche évidemment...

    sinon, à long terme je risque d'avoir environs 300 ou 400 occurences,
    ça va être lourd à charger comme page?
    je n'ai aucun ordre de grandeur pour ce genre de chose...

  11. #11
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    salut !
    j'ai raté plein de choses...
    300 ou 400... ce sera pareil qu'un site où on te demande de sélectionner un pays...
    @+

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut

    exact, j'ai posé la question ailleurs avec une liste de pays (au départ, j'essayais ma table pays... )

    merci pour vos réponses en tout cas!

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    Au niveau du style, je ne vois pas où modifier le style de la liste où s'affichent les occurences, dans cette page?

    http://javatwist.imingo.net/saisieauto4.php

    désolé, je suis débutant, je tatonne... je tatonne...

  14. #14
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    salut
    désolé d'être en retard;

    pour le style? si c'est tout ce qui te manque, c'est royal;

    en gros, y a rien comme css... juste une couleur de fond et une absence d'indentation des <li>: tu peux donc faire ce que tu veux;

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    ah, ben c'est pour ça que je trouvais rien...

    chez moi, j'ai une liste à puce et pas chez toi...
    je connais rien en "style de liste"...
    je souhaite juste virer les puces et mettre un petit cadre...
    j'ai trouvé ça, par ex:
    http://batraciens.net/css-astuces/li...coration-1.htm

    de quoi s'amuser!

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Points : 67
    Points
    67
    Par défaut
    j'ai utilisé ça pour supprimer les puces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .listing li  
    {
    list-style-type:none;
    list-style-position:inside;
    text-align:left;
    }
    Les puces sont bien supprimées mais en revanche, les item apparaissent centrer et non à gauche...

    Par ailleurs, si je veux changer la couleur du texte de l'item et de l'arrière plan, surquelle balise je peux m'appuyer?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td>
    <input name ="song" class="texte" type="text" style="width:150px" id="t" onkeyup="go(this.value)" /> 
    <label for="t"></label>
    <ul id="liste" style="display:none" class="listing">
    <li> </li> 
    </ul> 
    </td>

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/07/2010, 11h55
  2. [AC-2007] Générer un rapport Access avec des données de SQL Server
    Par amazon dans le forum VBA Access
    Réponses: 0
    Dernier message: 11/01/2010, 18h11
  3. Report avec des données MySQL
    Par jeandadaf dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/11/2009, 16h21
  4. Réponses: 0
    Dernier message: 26/12/2008, 12h28
  5. Réponses: 2
    Dernier message: 28/08/2008, 15h12

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