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 :

[Tableaux] Problème de récupération d'éléments d'un tableau


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut [Tableaux] Problème de récupération d'éléments d'un tableau
    Bonjour à tous, j'ai un soucis dans mon code mais je ne comprends pas

    Je dois réaliser un petit carnet d'adresses mais alors que je pensais avoir tout bien fait, j'ai une erreur.

    Voici mon code.

    data.inc

    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
    <?php
    $data [] = array('nom' => 'Dupont',
    		'prenom' => 'Jean',
    		'mail' => 'jeandupontexamplecom',
    		'adresse' => 'rue haute, 13',
    		'ville' => '9999 Jenesaisou',
    		'tel' => '090/939594');	
     
    $data [] = array('nom' => 'Dubois',
    		'prenom' => 'pierre',
    		'mail' => 'pierreduboisexamplecom',
    		'adresse' => 'rue neuve, 14',
    		'ville' => '1000 Bruxelles',
    		'tel' => '010/375298');	
     
    ?>
    browse

    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
    <?php
    require ('data.inc.php');
    ?>
    <table>
    <?php
    foreach ($data as $id => $champs) {
    ?>
    <tr>
    <td>
    <a href="view.php?id=>?=$id>">
    <?=htmlentities ($champs['prenom'] . ' ' . $champs['nom'])?>
    </a>
    </td>
    <td><?=$champs['mail']?></td>
    </tr>
    <?php
    }
    ?>
    </table>

    view

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    require('data.inc.php');
    $champs = $data[$_GET['id']];
    ?>
    <table>
    <tr><td>Nom:</td><td><?=htmlentities($champs['nom'])?></td></tr>
    <tr><td>Pr&eacute;nom:</td><td><?=htmlentities($champs['prenom'])?></td></tr>
    <tr><td>Adresse:</td><td><?=htmlentities($champs['adresse'])?></td></tr>
    <tr><td>Ville:</td><td><?=htmlentities($champs['ville'])?></td></tr>
    <tr><td>Mail:</td><td><?=htmlentities($champs['mail'])?></td></tr>
    </table>

    Et voila le résultat :

    Notice: Undefined index: id in c:\program files\easyphp1-7\www\test1\view.php on line 3

    Notice: Undefined index: in c:\program files\easyphp1-7\www\test1\view.php on line 3
    Nom:
    Prénom:
    Adresse:
    Ville:
    Mail:



    Ce doit etre vraiment bete a résoudre mais comme je débute par moi-même, je galère un peu beaucoup.


    Merci pour votre aide.

    En esperant avoir posté au bon endroit et dans les règles

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ta valeur en GET elle est pas plus grande que la capacité de ton tableau ?

    Si tu fais un print_r($data), obtiens-tu les éléments dans ton tableau ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'ai rajouté le "print"

    Je reçois ce résultat:

    Notice: Undefined index: id in c:\program files\easyphp1-7\www\test1\view.php on line 3

    Notice: Undefined index: in c:\program files\easyphp1-7\www\test1\view.php on line 3
    Array ( [0] => Array ( [nom] => Dupont [prenom] => Jean [mail] => jeandupontexamplecom [adresse] => rue haute, 13 [ville] => 9999 Jenesaisou [tel] => 090/939594 ) [1] => Array ( [nom] => Dubois [prenom] => pierre [mail] => pierreduboisexamplecom [adresse] => rue neuve, 14 [ville] => 1000 Bruxelles [tel] => 010/375298 ) )
    Nom:
    Prénom:
    Adresse:
    Ville:
    Mail:


    EDIT : Tu peux m'indiquer un programme qui permet d'avoir une vision plus simplifiée de son code par l'ajout de couleurs. je sais que cela existe mais j'ai completement oublié le nom.

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    SI tu fais un WebExpert offert par Developpez : http://www.developpez.net/forums/sho...d.php?t=216647

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    non ca ne donne rien.

    Je ne comprends pas trop pourquoi d'ailleurs.

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Si tu mets à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="view.php?id=>?=$id>">
    ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="view.php?id=<?php echo $id ?>">

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'essayerai demain parce que la je suis un peu HS.

    En tout cas merci, je vais y arriver

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'ai essayé avec ce code :

    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
    <?php
    require('data.inc.php');
     
    // La fonction isset() permet de savoir si une variable existe.
    if(isset($_GET['id'])) {
            // Utiliser une variable temporaire ($id) pour avoir plus facile.
            $id = $_GET['id'];
            $champs = $data["$id"];
    }
     
    ?>
    <table>
    <tr><td>Nom:</td><td><?=htmlentities($champs['nom'])?></td></tr>
    <tr><td>Pr&eacute;nom:</td><td><?=htmlentities($champs['prenom'])?></td></tr>
    <tr><td>Adresse:</td><td><?=htmlentities($champs['adresse'])?></td></tr>
    <tr><td>Ville:</td><td><?=htmlentities($champs['ville'])?></td></tr>
    <tr><td>Mail:</td><td><?=htmlentities($champs['mail'])?></td></tr>
    </table>
    mais cette fois j'ai une autre erreur:
    Nom:
    Notice: Undefined variable: champs in c:\program files\easyphp1-7\www\test1\view.php on line 18

    Prénom:
    Notice: Undefined variable: champs in c:\program files\easyphp1-7\www\test1\view.php on line 19

    Adresse:
    Notice: Undefined variable: champs in c:\program files\easyphp1-7\www\test1\view.php on line 20

    Ville:
    Notice: Undefined variable: champs in c:\program files\easyphp1-7\www\test1\view.php on line 21

    Mail:
    Notice: Undefined variable: champs in c:\program files\easyphp1-7\www\test1\view.php on line 22

    Je ne parviens pas à aller chercher les données dans le fichier dat.inc.php

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $id = $_GET['id'];
            $champs = $data;

  10. #10
    Membre actif Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Points : 248
    Points
    248
    Par défaut
    Reprends le code que tu avais au tout début de ce sujet, effectue la modification que t'avais indiqué kerod :

    Mettre ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="view.php?id=<?php echo $id ?>">
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="view.php?id=>?=$id>">
    et ouvre ta page browse.php. Normalement, tu trouves ta liste des personnes référencées dans ton annuaire. En cliquant sur le nom d'un personne, tu tombes bien sur les infos de cette personne.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci
    Ca fonctionne, j'ai bien les informations concernant la personne qui apparaissent.

    Sinon sur le page view.php je dois avoir quelque chose aussi non?

  12. #12
    Membre actif Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Points : 248
    Points
    248
    Par défaut
    Justement... La page browse.php t'affiche la liste de tes personnes et la page view.php sert à t'afficher le détail pour une personne donnée.

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Chen norris
    Justement... La page browse.php t'affiche la liste de tes personnes et la page view.php sert à t'afficher le détail pour une personne donnée.

    Ok c'est compris maintenant

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

Discussions similaires

  1. [Tableaux] problème de récupération de données
    Par arakiri dans le forum Langage
    Réponses: 3
    Dernier message: 21/05/2007, 14h18
  2. [Tableaux] problème de récupération de données
    Par arakiri dans le forum Langage
    Réponses: 8
    Dernier message: 11/05/2007, 10h49
  3. [Tableaux] Problème de récupération de valeur
    Par olivier94 dans le forum Langage
    Réponses: 14
    Dernier message: 31/01/2007, 20h20
  4. Réponses: 1
    Dernier message: 10/07/2006, 13h40
  5. Réponses: 19
    Dernier message: 29/06/2006, 13h11

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