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

AJAX Discussion :

[AJAX] Importer plusieurs valeurs php


Sujet :

AJAX

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut [AJAX] Importer plusieurs valeurs php
    bonjour,
    Je souhaite faire défiler une galerie photo avec les titres etc
    et je voudrais utiliser du DHTML et AJAX donc
    J'ai créé une requete ajax vers mon script php
    je voudrais importer plusieurs valeurs et ma base donc
    mon tableau php est un tableau de tableau
    Quelle est la méthode à suivre svp?

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par laurentg2003 Voir le message
    Quelle est la méthode à suivre svp?
    le tout premier point est ... de fournir un peu plus de détails

    Quelle est la structure actuelle de ta page (le code aiderait !) ?
    Qu'est-ce qui est déjà en place ?
    Quelle est le fonctionnement prévu (actions utilisateur etc.) ?
    Qu'est ce que tu entends pas "importer plusieurs valeurs et ma base" ?
    Quel est le volume (nombre de photos) ?

    Bref ...

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    une galerie peut compter une centaine de photos et le site peut compter plusieurs galerie le seul user c'est moi
    Mon code ajax
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <script type="text/javascript">
    var xmlhttp = false;
    if (window.ActiveXObject) {
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
       xmlhttp = new XMLHttpRequest();
       xmlhttp.overrideMimeType('text/xml');
    }
    function exReq(){
       //var state = document.forms[0].elements[0].value;
       //var url = 'ajax.php?state='// + state;
       xmlhttp.open('GET','ajax.php',true);
       xmlhttp.onreadystatechange = writeResponse;
       xmlhttp.send(null);
     
     
    }
     
    function writeResponse() {
     
    str1="";
    str2="";
    str3="";
    var state=xmlhttp.status;
    //clearTimeout(newtimer);
    switch (xmlhttp.readyState){
    case(2):var appel1 = setTimeout(str1=rqSent(state),5000);
    //clearTimeout(appel1);
    case(3):var appel2 = setTimeout(str2=waitRq(state),5000);
    //clearTimeout(appel2);
    case(4):var appel3 = setTimeout(str3=response(state),5000);
    alert(typeof(str3));
    break;
     
     
    } 
     
    var myid = document.getElementById('affiche');
        myid.innerHTML=str3;		
     
    //clearTimeout(appel3);}
     
     
    }
     
     
    function rqSent(state){
     
    var str1 ="requête envoyée le status est :"+state;
    return str1;
    }
    function waitRq(state){
    var str2 ="Réponse en cours de réception...le status est :"+state;
    return str2
    } 
     
    function response(state){
     
    var str3 ="Réponse est :"+xmlhttp.responseText+" le status est :"+state;	
    return str3
     
    }
    function init(){
    exReq();
    }
    newtimer = setTimeout("init()",6000);
     
    </script>
    <body>
     
     
     
     
    <div id="affiche"></div>
     
     
     
     
     
     
     
     
     
     
    </body>
    Mon code php en php4
    je passerai en php5 mais là ils'agissait de vite fr une requete
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php
    require ("Connect.php");
     
    // à mettre en poo avec les classes de webcréation-lg
    function recupDatabase(){
    $connexion = mysql_pconnect (SERVEUR,NOM,PASSE);
     
    if (! $connexion)
    {
     echo"Désolé,connexion à " . SERVEUR ." impossible\n";
     exit;
    }
     
    if (! mysql_select_db (BASE,$connexion))
    {
     echo "Désolé,accés à la base " . BASE . " impossible\n";
    }
     
    $sql = "SELECT * FROM `galerie`";
    // envoie de la requête
    $req = mysql_query($sql) or die('<u>Probleme SQL</u> : '.$sql.'<br>'.mysql_error
    ());  
     
    $num_rows = mysql_num_rows($req);
     
    // affichage des résultats avec $nb résultats par ligne
     
    while($resultat = mysql_fetch_array($req)) {
     
     
     
     
     
    $nompiste[] = $resultat['piste'];
    $grandtitre[] = $resultat['grandtitre'];
    $titre[] =  $resultat['titre'];
    $image[] = $resultat['image'];
    $nom[] = $resultat['nom'];
    $miniature[] = $resultat['miniature'];
    $numphotoclie[] =       $resultat['numphotoclie'];
            
     
    }
     
     
     
    $database = array($nompiste,$grandtitre,$titre,$image,$nom,$miniature,$numphotoclie);   
     
     
    return $database;
    }
     
    recupDatabase();
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    ?>
    Un echo database transmet un string qui vaut "array" et qui est donc pas un tableau
    un return transmet "" donc rien
    mon but est simplement d'importer ma base ses données et champs donc ses valeurs
    dans un tableau javascript
    Ensuite je manipule les données via ajax coté client sur le tableau
    le but est de limiter les requetes.
    je compte utiliser des pseudos classe en js et des méthodes
    et de faire une appli independante le plus possible du serveur
    ajax devient une sorte d'aplet
    voilà merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par laurentg2003 Voir le message
    mon but est simplement d'importer ma base ses données et champs donc ses valeurs
    dans un tableau javascript
    Ensuite je manipule les données via ajax coté client sur le tableau
    le but est de limiter les requetes.
    je compte utiliser des pseudos classe en js et des méthodes
    et de faire une appli independante le plus possible du serveur
    ajax devient une sorte d'aplet
    OK.

    Alors le principal soucis est : pourquoi utiliser Ajax ?

    Si c'est pour "tout importer" puis gérer l'ensemble (le diaporama) entièrement en Javascript, pourquoi ne pas tout intégrer à ta page lors de sa génération initiale ?
    Tu y gagnerais en temps d'exécution et en simplicité ...

    EDIT : je parle de charger toutes les url des images (ce que semble faire ton script) et non les images elles-même ...

    A+

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    C'est evidement ce que fais mon script d'origine
    je charge les urls bien sur
    mais comme je veux fr defiler les images
    sans faire defiler des pages créer dynamiquement via php lors de l'insertion d'images via le backoffice je dois utiliser DHTML
    et donc Ajax permet de charger tout la base une fois
    et d'avoir les titres etc et ça eviterai de recharger la page a chaque coup pour une nouvelle photo.

    Certe via dhtml c faisable c'est ta solution qui est juste mais je veux apprendre Ajax


    Merci

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par laurentg2003 Voir le message
    mais comme je veux fr defiler les images
    sans faire defiler des pages créer dynamiquement via php lors de l'insertion d'images via le backoffice je dois utiliser DHTML
    Heu ... là je sais pas quoi répondre, vu que j'ai pas compris
    Citation Envoyé par laurentg2003 Voir le message
    et donc Ajax permet de charger tout la base une fois
    et d'avoir les titres etc et ça eviterai de recharger la page a chaque coup pour une nouvelle photo.
    Je ne parlais pas de rechargement de la page.
    Lors de sa génération initiale, en PHP tu génères un tableau JS, par exemple, contenant toutes les infos dont tu parles (url, titres etc.), puis à partir de cet array (donc sans rechargement de la page), de gérer ton diaporama ...
    Citation Envoyé par laurentg2003 Voir le message
    mais je veux apprendre Ajax
    Là c'est autre chose ....

    Par contre, tu vas avoir des allers-retours serveur qui seront peut-être pénalisants pour la fluidité : en plus du chargement de l'image, il y aura l'appel Ajax qui ira chercher des infos à chaque fois ...

    A+

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    c'est juste mais c'est une maniere de m'initier à ajax
    donc comment retourner plusieurs valeurs donc plusieurs champs de ma base
    donc comment retourner un tableau et vu la structure de mon tableau php
    un tableau de tableau.

    Merci

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par laurentg2003 Voir le message
    donc comment retourner un tableau et vu la structure de mon tableau php
    un tableau de tableau.
    Dans ton cas, JSON semble particulièrement adapté, puisque le format (et les fonctions associées) est déjà connu à la fois côté PHP et côté Javascript

    A+

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    c'est juste j'ai regardé ça et je vais le faire quand j'aurais 5 mn
    mais au final je renvois une chaine de caractere qui contient tout avec des séparateurs et avec des expressions régulieres je récupere tout
    et je fais mon tableau j'aurais pu faire du xml aussi mais je me mefies des histoires d'encodage

    merci


  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    pour conclure ce topic
    la solution c'est jason effectivement et le framework prototype

  11. #11
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par laurentg2003 Voir le message
    la solution c'est jason effectivement
    Un peu radical, la tronçonneuse, non ?

    Et pas sûr que ça soit super efficace pour l'échange de données ...

    A+

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    il faut etre logique jason javascript object notation est lié a javascript
    via php tu créé un ou des tableaux jason donc des objets
    tu retourne le tout via ajax et un eval et "badaboum" tu as des tableaux javaScript valides donc des objets valides directement utilisable mieux
    si tu force jason tu peux meme insérer des méthodes ce qui est déconseillé
    mais la tu obtiens un super singleton php n'est pas lisible...
    Pas de parseur du dom pas de fichier xml valide etc etc
    Je pense que jason a plus d'avenir que XML ça parrait logique aprés c'est mon avis d'amateur

  13. #13
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Je faisais juste remarquer qu'il s'agit de JSON et non de Jason

    A+

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut

    oui on est loin de la mythologie grecque
    tiens comme tu es là
    j'ai une question de newbie
    deja j'ai trouvé un super cours sur JavaScript objet
    http://lti.epfl.ch/Documents/ObjetsJavascript.html

    ce code là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var obj1={attr:234, str:"abcd", fct: function () {this.attr=0}}
                    obj1.nom = "uvw" // adjonction d'un attribut
                    obj1.fct() // appel d'une fonction de l'objet 
                    alert(obj1.attr) // affichage d'un attribut de l'objet
    ce code pour créer un objet c'est du javascript ou du Json les 2 accolades m'interpellent...

  15. #15
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    C'est bien du Javascript (définition d'un objet).
    Aucune présence de JSon.

    Les deux dernières accolades, dans l'ordre :
    • ferme la fonction anonyme
    • ferme la définition de l'objet

    A+

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Par défaut
    merci beaucoup
    javaScript est un langage passionnant
    on croit que c'est un petit langage de script qui sert à rien et on decouvre un grand langage trés riche et puissant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] recuperer plusieurs valeurs dans une fonction
    Par tortue_22 dans le forum AJAX
    Réponses: 4
    Dernier message: 17/05/2009, 13h48
  2. [AJAX] Transmettre plusieurs valeurs et les r'afficher.
    Par univscien dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/03/2008, 14h24
  3. [AJAX] passage de valeur pour une page php depuis un formulaire
    Par Ministar dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2007, 21h29
  4. [AJAX] Inscription en AJAX ( envoyer plusieurs valeurs)
    Par Hujii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/05/2007, 02h38
  5. Réponses: 16
    Dernier message: 19/07/2006, 00h16

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