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
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:
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.
Champs vides dans un tableau - suite
Citation:
Envoyé par julp
Une solution relativement générique :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php
define('CHAMP_VIDE', ' ');
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.
http://www.rasmultimedia.com/ras/rasmusic01.jpg