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

PHP & Base de données Discussion :

Test de variable [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut Test de variable
    Bonjour,

    Je dois recuperer un ID de record depuis un SELECT dans une variable et ce, dans une page. La difficulté est lorsque que la variable est vide (pas d'ID) je dois lui affecter un ID par défaut. J'ai beau tester si cette variable est variable vide mais en vain. J'ai utiliser plusieurs variantes de test ce qui fait que la suite du code n'est pas exécuter. Voici mon 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     $sql = "SELECT id FROM table WHERE date_soumission = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 0 DAY)";
      $query = mysql_query($sql);
      $row = mysql_fetch_array($query) OR die(mysql_error());
      $MaxID = $row['id'];
     
     
     
      if (!$MaxID) 
      {
      $MaxID=1;
      }
     
     
      if ($MaxID==0) 
      {
      $MaxID=1;
      }
     
      if (empty($MaxID))
      {
      $MaxID=1;
      }
     
     
      if (is_null($MaxID))
      {
      $MaxID=1;
      }
     
    //-------suite du code----------------
    ..........................
    .........................
    Merci de votre aide
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  2. #2
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 171
    Points : 106
    Points
    106
    Par défaut
    Salut,

    Tu n'as pas d'erreur lors de l'exécution de ta requêtes ?
    As-tu plusieurs résultats en sortit de ta requête ?

    Arretez moi si je me trompe mais pourquoi tu ne fais pas une boucle while :

    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
     
     
    while($row = mysql_fetch_array($query)){
     
      if ($row['id'] == 0) 
      {
      $MaxID=1;
      }
     
      if (is_null($row['id'])) 
      {
      $MaxID=1;
      }
     
     
      if (empty($row['id'])) 
      {
      $MaxID=1;
      }
    }

    en gros dis moi si ça marche....?enfin tu adapte après

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    avant de continuer je t'invite à regarder plus en détail empty() et ensuite de comparer avec ton code.

  4. #4
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Je n'ai qu'un seul résultat en sortie, le champ ID du SELECT. La requête fonctionne bien et la page s'affiche. Et ni le while ni le empty ne règlent le problème. Le seul problème c'est que lorsque la requête ne trouve aucun enregistrement.........................
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par freud Voir le message
    Mais qu'es-ce que ça devrait donner si je n'obtiens aucun enregistrement depuis la requête ?
    mysql_fetch_array retourne FALSE. Ce qui, avec votre or die, met fin au script

    En admettant qu'on attende [0;1] ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (FALSE === ($row = mysql_fetch_array($query))) {
        // pas de ligne
    } else {
        // 1 ligne, utiliser $row
    }

  6. #6
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    C'est cela c'est le DIE qui faisait coincer merci julp
    et cragoroth et rawsrc aussi
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

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

Discussions similaires

  1. Création et test de variables
    Par pat-lion dans le forum Delphi
    Réponses: 9
    Dernier message: 11/08/2006, 12h20
  2. Test de variable en php
    Par Andry dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2006, 10h41
  3. test sur variable
    Par vince2005 dans le forum Langage
    Réponses: 5
    Dernier message: 18/07/2006, 13h19
  4. Se faire une page de teste de variable
    Par DaD92 dans le forum Langage
    Réponses: 2
    Dernier message: 17/06/2006, 18h17
  5. [PHP-JS] Test des variables (PHP ou JavaScript) ??
    Par King_T dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2006, 12h19

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