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 :

Afficher champs vides dans tableau


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Par défaut Afficher champs vides dans tableau
    Bonjour,
    je récupère des enregistrements d'une base mysql dans une page avec un tableau.
    Quand un des champs d'un enregistrement est vide, les contours de la cellule n'apparaissent pas et ce n'est pas beau.

    1/ j'envisage de remplir chaque cellule vide avec un tiret, mais je ne sais pas faire ! (débutant)

    2/ quelqu'un a-t-il une meilleure solution ?

    Merci

  2. #2
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Peux tu préciser le code utilisé pour afficher ton tableau ?? est-ce de l'html, du pdf ou autre ??

    ++
    JC

  3. #3
    Membre expérimenté

    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
    Par défaut
    Pourriez-vous nous donner votre code actuel ? Pour tester si un champ est vide, la fonction empty, par exemple, devrait convenir.


    Julp.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Par défaut Champs vides dans un tableau
    Citation Envoyé par julp
    Pourriez-vous nous donner votre code actuel ? Pour tester si un champ est vide, la fonction empty, par exemple, devrait convenir.
    C'est du code php
    J'ai défini les titres de mon tableau en html et j'utilise ce code pour le remplir :
    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
    <? $a = mysql_query("SELECT * FROM rasmusic ORDER by nom, titrealbum");
    while ($b=mysql_fetch_array($a)) {
    echo "<tr>
    <td>$b[id]</td>
    <td>$b[support]</td>
    <td>$b[nbsupport]</td>
    <td>$b[nom]</td>
    <td>$b[typechant]</td>
    <td align=center>$b[titrealbum]</td>
    <td>$b[editeur]</td>
    <td>$b[original]</td>
    <td>$b[typealbum]</td>
    <td>$b[nbex]</td>
    <td>$b[annee]</td>
    <td>$b[comment]</td></tr>"; }?>
    La fonction empty semble convenir, mais je ne saurai pas l'utiliser dans mon cas.
    Il faut que je teste chaque champ, je suppose.
    Cette base à terme comportera + de 10.000 enregistrements.

    Si quelqu'un veut bien me donner un canevas...
    Merci.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Par défaut
    à l'affichage tu peux tester si c'est empty et si oui afficher (code de l'espace insécable en html) et si non afficher le contenu
    ça t'affichera le contour des cases même quand elles sont vides vu qu'elles contiendront un espace et ce sera plus joli qu'un tiret car invisible



    même pour un débutant ça ne devrait pas être difficile

  6. #6
    Membre expérimenté

    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
    Par défaut
    Une solution relativement générique :
    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
    define('CHAMP_VIDE', '&nbsp;');
     
    mysql_connect('localhost', 'login', 'motdepasse');
    mysql_select_db('base');
     
    $query = mysql_query("SELECT * FROM rasmusic ORDER by nom, titrealbum;");
    $nbChamps = mysql_num_fields($query);
    echo '<table>';
    while ($array = mysql_fetch_row($query)) {
    	echo '<tr>';
    	for ($i = 0; $i < $nbChamps; $i++)
    	{
    		echo '<td>' . (empty($array[$i]) ? CHAMP_VIDE : $array[$i]) . '</td>';
    	}
    	echo '</tr>';
    }
    echo '</table>';
    ?>
    Mais vous devrez probablement vous limitez en nombre d'enregistrement retourné avec un système de pagination (clause LIMIT) et/ou à l'aide de critère(s) (clause WHERE).


    Julp.

Discussions similaires

  1. Comment ne pas afficher un champs vide dans un template
    Par altair8080 dans le forum AngularJS
    Réponses: 3
    Dernier message: 18/05/2015, 21h33
  2. [ZF 1.10] Afficher le premier champ vide dans une liste déroulante
    Par king_soft dans le forum Zend Framework
    Réponses: 4
    Dernier message: 20/01/2011, 16h40
  3. Test evenement sur champ vide dans une table
    Par eddyG dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 17h02
  4. Total de champs vide dans un formulaire
    Par gretch dans le forum Langage
    Réponses: 2
    Dernier message: 09/05/2006, 11h53
  5. champ vide dans BD
    Par MANU_2 dans le forum Bases de données
    Réponses: 4
    Dernier message: 06/10/2005, 11h28

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