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

  1. #1
    Futur 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
    Points : 5
    Points
    5
    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 éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

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

    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

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


    Julp.

  4. #4
    Futur 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
    Points : 5
    Points
    5
    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 actif
    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
    Points : 216
    Points
    216
    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
    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.


    Spidercochon, spidercochon, il peut marcher au plafond
    ...MM ......Voici Spidercochon. Aidez le à conquérir le monde
    E(....)~....en le reproduisant.
    ...w

  6. #6
    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
    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.

  7. #7
    Futur 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
    Points : 5
    Points
    5
    Par défaut Champs vides dans un tableau - suite
    Citation Envoyé par julp
    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.
    Merci pour votre aide, mais décidemment je n'y arrive pas.
    Avec votre solution, mon tableau n'est plus mis en forme.
    J'ai essayé diverses méthodes.
    Ci-joint copie du tableau de résultat avant et après.
    Encore merci de votre patience.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Moi je faisais le barbare et j'ajoutais un &nbsp devant la variable,qu'elle soit vide ou pas... puis j'ai découvert empty-cells en feuille de style.
    Sinon tu fais un test avant chaque variable ... en plus que tu aies plus de 1000 enregistrement ne change rien du tout puisque de toutes facons tu fais une boucle.

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