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 :

envoyer un tableau vers une autre page


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut envoyer un tableau vers une autre page


    J'ai créé un tableau qui contient les numéro de société de ma base ($tabNumSoc) dans la page listeClients.php .

    Je voudrai pouvoir utiliser ce tableau dans le fichier ficheClient.php, mais je ne vois pas comment faire, à part faire un formulaire mais ce n'est pas ce que je recherche.

    Quelle est la solution?


  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Salut,
    Cela depend de la quantité de données, et des moyens que tu tu as a ta disposition.
    Pour transferer des variables d'une page a l'autre, il y a :
    POST
    GET
    COOKIE
    SESSION

    APres, si tes variables sont toutes petites, tu peux les laisser telles quelles.
    Autrement, tu peux utiliser une fonction de serialisation telle que serialize ou json (je perfere cette derniere).

    Z.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    J'ai choisi d'utiliser $_SESSION, qui me semble + sure que $_GET par exemple et qui correspond à mes besoins.

    Par contre, je dois utiliser le résultat de ce tableau pour crée un systême de type page précédente-page suivante et j'avoue que je galère un peu.

    Car le problème est que le numéro du client suivant ou précédent n'est pas forcément +1 ou -1 ...

    Je ne sais pas si je suis clair, je vais montrer un bout de code pour expliquer.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $tabNumSoc[$cptSoc] = $numSociete; //dans listeClients.php on initialise un tableau qui contient pour chaque poste numSociete
    $cptSoc++;
     
    $_SESSION['tabNumSoc'] = $tabNumSoc; //toujours dans listeClients.php, on met le tableau dans une session pour pouvoir le récupérer dans une autre page
     
    $tabNbS = $_SESSION['tabNumSoc']; // dans ficheClient.php, on récupère le tableau 
    $nbS = array_search($numCli,$tabNbS); // on recherche la position du numéro client dans le tableau
     
    // liens pour page suivante et précédente
    <br /><a href="ficheClient.php?numSociete=<?php echo $numSociete-1 ?>">Fiche précédente</a>
    <a href="ficheClient.php?numSociete=<?php echo $numSociete+1 ?>">Fiche suivante</a> <br /><br />

    Pour l'instant, volontairement j'ai mis $numSociete-1 ou +1 pour passer de page en page, mais cela amène au numéro de client suivant qui n'est pas forcément le client suivant dans la liste (de listeClients.php)

    Voyez vous une solution?


  4. #4
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Bonjour,

    tu peux stocker en session le parcours de tes utilisateurs.
    C'est a dire quand il va sur la page d'un client, tu stockes l'id de ce client dans un tableau (en session pour le garder).

    Pour la navigation, tu as juste a passer l'indice du client précédent ou suivant (si c'est possible).

    Grâce à l'indice tu as le numéro du client et donc son identifiant.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Pour l'instant je stocke dans le tableau $_SESSION['tabNumSoc'] toutes les positions, mais comment indiquer que je veux aller à l'indice suivant ou précédent?
    Existe-t-il un moyen du style $_SESSION['tabNumSoc']+1 ?


  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    C'est bon j'ai trouvé la solution, il suffit de faire un array_search($numCli, $tabNbS)+1 ou -1 pour avoir la page suivante ou précédente.

    Je veux bien quand même avoir l'info concernant le poste suivant ou précédent du tableau $_SESSION, cela m'éviterai de dupliquer ce tableau.


  7. #7
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nbS = array_search($numCli,$_SESSION['tabNumSoc']);

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Non ceci m'indique le numéro actuel du client, mais en fait je voudrai simplement accéder au poste suivant dans le tableau $_SESSION['tabNumSoc'], sans avoir à dupliquer le tableau, quelque chose du style $_SESSION['tabNumSoc+1'], mais j'ai essayé cette syntaxe et elle n'est pas bonne.

  9. #9
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    A ta place, je passerai par une boucle,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function rechercherElementSuivant($valeurReference,$monTableau) {
     
      foreach ($monTableau as $cle => $valeur) {
     
        if ($valeurReference== $valeur) {
     
          return next($monTableau);
     
        }
     
        return false;
    }
     
    rechercherElementSuivant($numCli,$_SESSION['tabNumSoc']);
    J'ai écris ça rapidement mais l'idée devrait fonctionner

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Pas bête l'idée de la fonction, ça m'évite de dupliquer le tableau (même si la duplication se fait dans la fonction, ça fait + propre dans le code.

    Merci

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Pas bête l'idée de la fonction, ça m'évite de dupliquer le tableau (même si la duplication se fait dans la fonction, ça fait + propre dans le code.)

    Merci

  12. #12
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Citation Envoyé par floctc Voir le message
    même si la duplication se fait dans la fonction
    Tu ne le dupliques pas, tu le parcours avec cette fonction. Tu lis les entrées une a une jusqu'à trouver celle qui t'intéresse, tu ne les copie nulle part.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Attends, le php c'est pas comme en C? Quand on fait appel à une fonction, la fonction ne travaille pas avec une copie locale du ou des paramètres envoyés?

  14. #14
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonne question :-)

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

Discussions similaires

  1. envoyer un echo vers une autre page
    Par cedcyr dans le forum Langage
    Réponses: 6
    Dernier message: 01/10/2013, 23h43
  2. Lien vers une autre page puis qui selection d'un elt d'une listbox
    Par avogadro dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/08/2006, 13h03
  3. [PHP-JS] Rediriger vers une autre page
    Par Vlacar dans le forum Langage
    Réponses: 13
    Dernier message: 10/04/2006, 13h23
  4. [Tableaux] récupérer un tableau sur une autre page
    Par samsso2005 dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2006, 22h58
  5. iis redirection vers une autre page
    Par wodel dans le forum IIS
    Réponses: 1
    Dernier message: 03/01/2006, 15h36

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