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 :

Valeur NULL dans un tableau dynamique [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut Valeur NULL dans un tableau dynamique
    Bonjour,

    avec un stagiaire en licence d'informatique dont j'ai la tutelle, nous avons développé des applications en visual basic qui permettent d'actualiser des informations destinées à être diffusées sur un panneau d'affichage.
    Ce panneau d'affichage permet de visualiser des pages web.

    Une de nos applications gère la gestion des professeurs absents.
    Un rédacteur entre le nom du prof, renseigne s'il est absent pour la journée ou sinon de quelle heure à quelle heure est-il absent.
    Une fois que le rédacteur a validé la saisie, les données sont envoyées à une base mysql. Les champs non remplis comme par exemple celui de l'abence journée sont envoyés avec la valeur NULL à la base de données.

    De l'autre côté, le site web fait une requête à la base mysql et affiche dans un tableau dynamique la liste des professeurs absents.
    Sauf que si le prof n'est pas absent pour la journée, la page web affiche dans la colonne journée la valeur NULL.

    Je souhaiterait que la page web n'affiche rien dans la cellule quand une valeur NULL est renvoyée par la base mysql.

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
    //parametres de connexion
    $machine="serveurts";
    $utilisateur="root";
    $mot_passe="";
    $nom_base="afficheur";
    //connexion au SGBD Mysql
    $con=mysql_connect($machine,$utilisateur,$mot_passe) or die ('Erreur : '.mysql_error() );
     
    //s'il y a une connection
    //selection de la base des donnees
    mysql_select_db($nom_base);
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $query='SELECT * FROM table;';
    $resultat=mysql_query($query,$con) or die (mysql_error());;
    $total=mysql_num_rows($resultat);//donne le nombre de ligne
    // si on a récupéré un résultat on l'affiche.
    if($total) {
    //debut du tableau
    echo'<table bgcolor="#FFFFFF">'."\n";
    // première ligne on affiche les titres du tableau NOM DU PROFESSEUR , JOURNEE , HEURE DE DEBUT , HEURE DE FIN , COMMENTAIRE dans 5 colonnes
    echo '<tr>';
    echo '<td bgcolor="#669999"><b><u>NOM DU PROFESSEUR</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>JOURNEE</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>HEURE DE DEBUT</u></b></td>*';
    echo '<td bgcolor="#669999"><b><u>HEURE DE FIN</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>COMMENTAIRE</u></b></td>*';
    echo '</tr>'."\n";
    // lecture et affichage des résultats sur 5 colonnes, 1 résultat par ligne.
    while($row=mysql_fetch_array($resultat))
    {
    echo '<tr>';
    echo '<td bgcolor="#CCCCCC">'.$row["nomprof"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["journee"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["heuredebut"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["heurefin"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["commentaire"].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($resultat);
    ?>
    </body>
    </html>
    est il possible de dire au script php de remplacer la valeur NULL par un champ vide?

    J'ai essayé:

    $journee='journee';
    IF "journee"=="NULL"
    "journee"="";

    mais cela ne fonctionne pas.

    Quelqu'un a-il une idée?

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 165
    Par défaut
    bonjour,

    pouvez vous essayer de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td bgcolor="#CCCCCC">'.$row["journee"].'</td>';
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($row["journee"] != NULL)
    {
    echo '<td bgcolor="#CCCCCC">&nbsp; </td>';
    }
    else
    {
    echo '<td bgcolor="#CCCCCC">'.$row["journee"].'</td>';
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut Résolu ca marche!
    Bonjour,
    merci ca marche nikel
    Voici le code final:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
     
    <?php
     
     
    //parametres de connexion au serveurts
    $machine="serveurts";
    $utilisateur="root";
    $mot_passe="";
    $nom_base="afficheur";
     
     
    //connexion au SGBD Mysql
    $con=mysql_connect($machine,$utilisateur,$mot_passe) or die ('Erreur : '.mysql_error() );
     
     
    //s'il y a une connection etablie
    //selection de la base des donnees
    mysql_select_db($nom_base);
     
     
     
     
    // appel de la date du jour
    $today = date("y.m.d");
     
     
     
     
    // requ&ecirc;te SQL qui compte le nombre total d'enregistrement dans la table et qui
    //r&eacute;cup&egrave;re tous les enregistrements
     
    $query="SELECT * FROM absence Where dateabsence='$today'";
    $resultat=mysql_query($query,$con) or die (mysql_error());;
    $total=mysql_num_rows($resultat);//donne le nombre de ligne
     
     
     
     
     
    // si on a r&eacute;cup&eacute;r&eacute; un r&eacute;sultat on l'affiche.
    if($total) {
    //debut du tableau
    echo'<table bgcolor="#FFFFFF">'."\n";
     
     
     
    // premi&egrave;re ligne on affiche les titres du tableau NOM DU PROFESSEUR , JOURNEE , HEURE DE DEBUT , HEURE DE FIN , COMMENTAIRE dans 5 colonNes
    echo '<tr>';
    echo '<td bgcolor="#669999"><b><u>NOM DU PROFESSEUR</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>JOURNEE</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>HEURE DE DEBUT</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>HEURE DE FIN</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>COMMENTAIRE</u></b></td>';
    echo '</tr>'."\n";
     
     
    // lecture et affichage des r&eacute;sultats sur 5 colonnes, 1 r&eacute;sultat par ligne.
    while($row=mysql_fetch_array($resultat))
    {
    echo '<tr>';
    echo '<td bgcolor="#CCCCCC">'.$row["nomprof"].'</td>';
     
     
     
     
     
    if ($row["journee"] == "NULL")
    {
    echo '<td bgcolor="#CCCCCC">&nbsp; </td>';
    }
    else
    {
    echo '<td bgcolor="#CCCCCC">'.$row["journee"].'</td>';
    }
     
    if ($row["heuredebut"] == "NULL")
    {
    echo '<td bgcolor="#CCCCCC">&nbsp; </td>';
    }
    else
    {
    echo '<td bgcolor="#CCCCCC">'.$row["heuredebut"].'</td>';
    }
     
    if ($row["heurefin"] == "NULL")
    {
    echo '<td bgcolor="#CCCCCC">&nbsp; </td>';
    }
    else
    {
    echo '<td bgcolor="#CCCCCC">'.$row["heurefin"].'</td>';
    }
     
    if ($row["commentaire"] == "NULL")
    {
    echo '<td bgcolor="#CCCCCC">&nbsp; </td>';
    }
    else
    {
    echo '<td bgcolor="#CCCCCC">'.$row["commentaire"].'</td>';
    }
     
    echo '</tr>'."\n";
     
    }
    echo '</table>'."\n";
     
     
    // fin du tableau.
     
     
    }
    else echo 'Pas de professeur absent aujourd\'hui...';
     
    // on lib&egrave;re le r&eacute;sultat
    mysql_free_result($resultat);
    ?>
    j'ai juste dû remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($row["journee"] != NULL)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($row["journee"] = "NULL")
    Merci mille fois

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

Discussions similaires

  1. [MySQL] les caractères accentués renvoient une valeur "null" dans un tableau array
    Par olivier8064 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2012, 16h09
  2. Masquer les valeurs nulles dans un tableau
    Par cabville dans le forum Débuter
    Réponses: 9
    Dernier message: 24/10/2010, 21h00
  3. Réponses: 1
    Dernier message: 04/06/2010, 13h40
  4. Réponses: 6
    Dernier message: 26/12/2006, 17h01
  5. Réponses: 10
    Dernier message: 30/06/2006, 17h41

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