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 :

Comment passé des tableau d'une page a l'autre


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut Comment passé des tableau d'une page a l'autre
    Salut, j'ai un ptit probleme et je ne vois pas de solution

    j'ai créer un tableau avec des données venant d'une db,

    et je voudrai pouvoir utiliser ce tableau sur une autre page, mais je ne vois absolument pas comment je peux faire

    pourriez vous m'aider svp merci

  2. #2
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut Kaygee,

    Va un peu voir du coté de serialize deserialize.

    Tu les envoies à l'autre page par POST
    ou
    tu utilises les sessions.
    Perso, je préfère les sessions.

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    Sorry mais je capte vraiment pas les sessions la

    j'ai mis mon session_start()

    et il me repond

    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at d:\www\php\medicab\liste_patient.php:3) in d:\www\php\medicab\liste_patient.php on line 5

    je suppose si j'ai bien compris le tuto que j'ai ici

    que je pourrai utiliser mon tableau ainsi

    $_SESSION['tableau[$indice]']

    c'est ca? ou je suis encore dans les choux?

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    il te faut créer un dossier nommer "sessions" a la racine de ton hebergement

    apres pour ton tableau:

    $tab=array('element1','element2','element3');
    $_SESSIONS['tablo_trasmis']=$tab;

    et tu pourra utiliser ton tableau n'importe ou avec $_SESSIONS['tablo_trasmis']

  5. #5
    Invité
    Invité(e)
    Par défaut
    wola wola...
    Citation Envoyé par maximenet
    il te faut créer un dossier nommer "sessions" a la racine de ton hebergement
    valable uniquement chez free... kaygee n'a jamais parlé de free, pour l'instant il est en phase de test local visiblement...

    Citation Envoyé par maximenet
    $tab=array('element1','element2','element3');
    $_SESSIONS['tablo_trasmis']=$tab;

    et tu pourra utiliser ton tableau n'importe ou avec $_SESSIONS['tablo_trasmis']
    attention au nom du tableau : il s'agit de $_SESSION (il n'y a pas de 'S' à la fin)

    de plus, la reponse à ce thread ce trouve dans la : http://php.developpez.com/faq/?page=...s_already_sent

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    oui oki ca c'est bon mais comment je fais pour parcourir mon tableau

    ex:


    j'ai mon tableau contenant plusieurs prenoms


    $prenom_patient[];

    donc sur ma page principale je fais donc

    $_SESSION['Table_patient'] = prenom_patient c'est bien ca???

    et donc sur ma page de reception comment je fais pour lire chaqu'un de mes prenom???? puisque je n'ai aucun indice????

  7. #7
    Invité
    Invité(e)
    Par défaut
    hmmm... là il faudrait peut-etre fouiller un peu dans la doc plutot que de poster sur le forum quand meme...

    cherche du coté de l'utilisation de foreach($array as $key => $value)

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    oki pour ca j'ai relu le truc et j'ai compris mais j'ai toujours cette erreur de header et je ne comprend vraiment pas.


    sorry, mais suis vraiment a la bourre avec ce programme, et je commence un peu a craquer

    donc pour le parcours du tableau il n'y a pas de problème c'est bon

    mais c'est le session_start()

    qui me pose toujours le problème, c'est vraiment le dernier problème que j'ai après ca va marcher comme sur des roulettes, mais je dois avouer que je ne capte vraiment pas

    merci

  9. #9
    Invité
    Invité(e)
    Par défaut
    comme le dit la , tu as envoyé des données via HTTP (affichage HTML ou header()) avant de faire ton session_start(). et ça, on ne peut pas le faire car la fonction session_start() envoie des entetes HTTP qui doivent preceder tout envoi de données.

    mets donc ton session_start() avant tout affichage HTML (meme des lignes blanches dans ton code) et ça ira mieux

  10. #10
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    voial en effet il ne me pose plus de problème,


    mais j'ai toujours une erreur

    Warning: Illegal offset type in d:\www\php\medicab\test.php on line 16

    excuse moi je prend la tête, mais suis vraiment a la bourre

    c'est le code sur ma page de depart
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     
    $_SESSION['Table_test'] = $nom_patient;

    C'est le code sur ma page de reception

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $TablePatient[] = $_SESSION['Table_test'];
     
    foreach($TablePatient as $i)
    {
    	echo $TablePatient[$i];
    }
    ?>
    [/code]

  11. #11
    Invité
    Invité(e)
    Par défaut
    tu n'as pas compris la syntaxe de foreach(). cette structure de contrôle gère elle-meme le pointeur sur le tableau, et place directement la valeur trouvée dans une variable. tu n'as donc pas besoin d'aller chercher la valeur dans le tableau, tu peux afficher directement la variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($TablePatient as $unPatient)
    {
       echo $unPatient;
    }

    ps : le but de ce forum n'est pas de faire ton boulot le plus vite possible, mais bien de comprendre ce que tu fais...

  12. #12
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    oki j'ai donc bien un problème lors du passage du tableau

    car j'ai en unique réponse, a mon echo

    array

  13. #13
    Invité
    Invité(e)
    Par défaut
    ben ça, ça signifie que ton tableau contiuent d'autres tableaux... que tu vas devoir à nbouveau parcourir...

  14. #14
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    te suis pas la (si j'ai deja reussi a suivre aujourd'hui

  15. #15
    Invité
    Invité(e)
    Par défaut
    ben... tu parcoures un array (avec foreach), et quand tu affiches son contenu il s'avere que c'est un autre array... ça signifie que tu as un tableau à 2 dimensions.

    et je ne m'en aperçois que maintenant, c'est normal. tu as une mauvaise syntaxe à la recuperation de ta variable de session...

    remplace
    Citation Envoyé par kaygee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $TablePatient[] = $_SESSION['Table_test'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $TablePatient = $_SESSION['Table_test'];
    ça evitera de declarer un tableau supplementaire... ainsi le foreach accedera directement au bon tabvleau, et ça fonctionnera

  16. #16
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    Je te remercie beaucoup ca marche au poil, vais pouvoir structurer tout ca

    pfffiuuuuuu

    ce fut dure mais c'est bon maintenant, je sens que je vais commencer a étudier PHP il y a beaucoup de fonctions qui ont l'air vraiment pas mal du tout.

    et le premier qui ose encore me dire que PHP c'est le meme que ASP, je lui casse le nez

    Encore merci

  17. #17
    Invité
    Invité(e)
    Par défaut
    de rien

    PHP est un langage très simple (pour peu qu'on s'y penche un tant soit peu), très efficace et très bien documenté (cf la doc officielle, ton outil de travail numero 1 si tu veux bosser sur ce langage)

    n'oublie pas le bouton [résolu] en bas à gauche pour signaler que la question a trouvé reponse

  18. #18
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    je peux te poser une dernière apres je te lache

    en fait je fais passer 7 tableaux un tableau de nom un tableau de prenom etc...


    mais evidement dans mon foreach je pointe sur nom_patient et je dois mettre le premier éléments de chaque tableau sur la meme ligne

    nom, prenom, adresse .....


    c'est a dire en tableau nom_patient[1], prenom_patient[1]...

    comment je peux faire ca avec un foreach???

  19. #19
    Invité
    Invité(e)
    Par défaut
    ah ben là le plus simple c'est de revenir à un parcours de tableau classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i = 0; $i < count($tableau); $i++)
    car avec l'indice $i tu peux aller chercher dans tous tes tableaux en meme temps...

  20. #20
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut
    a tu vois la ou était ma logique, c'est que d'office, je prévoyais cette boucle car je devais avoir des tableaux a indice.


    et je ne captais pas l'utilisation du foreach avec son pointeur.


    maintenant c'est tout clair

    je te remercie beaucoup pour ton aide


    Ciao Ciao

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comment récuperer des données d'une page web
    Par roi des tenebres dans le forum Spring
    Réponses: 1
    Dernier message: 27/07/2009, 16h36
  2. Comment faire des frame dans une page en ASP.Net
    Par Jean-Claude Dusse dans le forum ASP.NET
    Réponses: 6
    Dernier message: 04/02/2009, 20h45
  3. Comment Lire des mp3s sur une page asp?
    Par Gr@nd@x dans le forum ASP.NET
    Réponses: 5
    Dernier message: 21/08/2008, 14h22
  4. comment ajouter des pub, inclure une page web?
    Par silencer0 dans le forum Publicité
    Réponses: 2
    Dernier message: 21/07/2007, 01h57
  5. [RegEx] Comment extraire des données d'une page HTML ?
    Par taliesin26 dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2006, 12h39

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