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] Test existence d'un champ de tableau


Sujet :

Langage PHP

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut [Tableaux] Test existence d'un champ de tableau
    Bonjour,

    J'ai tout à coup un doute.

    Je développe une application intranet avec des fonctionnalité classique de création, modification, suppression d'enregistrement de données dans la base de données.

    Dans un programme réalisant ces fonctionnalités de base, je commence toujours pas lire la table de la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="SELECT * FROM Table WHERE identifiant= $identifiant;
    $result=mysql_query($sql);
    $ligne = mysql_fetch_assoc($result);
    Si un enregistrement existe le tableau $ligne existe et est composé des champs de la table.

    Si aucun enregistrement, c'est que je suis en création, $ligne existe mais pas les indices de ce tableau.

    Donc, si je suis en création et que dans mon traitement, je fais un test du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $valeur=$ligne["montant"]
    Il est normal qu'il me dise
    Notice: Undefined index: montant in
    Est-il possible de tester l'existence d'un champ pour éviter ce genre de problème ?

    Merci d'avance
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Si tu n'as aucun enregistrement en retour, mysql_num_rows renverra 0. Avec ça pas besoin de tester l'existence des champs.

  3. #3
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    donc je test la valeur du résultat de mysql_num_row tout simplement

    Merci beaucoup
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    , donc

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

Discussions similaires

  1. [Tableaux] Test sur les valeurs d'un tableau
    Par roux-JO dans le forum Langage
    Réponses: 3
    Dernier message: 08/07/2007, 10h49
  2. test existance table ou champ
    Par harjer dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 26/04/2007, 11h37
  3. [Tableaux] Existence d'une clé de tableau associatif
    Par navis84 dans le forum Langage
    Réponses: 1
    Dernier message: 17/08/2006, 15h24
  4. Réponses: 2
    Dernier message: 30/04/2006, 20h22
  5. Réponses: 2
    Dernier message: 08/12/2005, 14h41

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