système d'onglets en php mysql

Mammouth du PHP | 702 Messages

08 mars 2012, 16:55

Bonjour, je cherche a faire un système d'onglets dont voici le code.
le soucis est qu'il m'affiche que deux onglets. je crois que le elseif n'est pas approprié, en fait j'ai besoin de rajouter un onglet (qui fait le fond d'une cellule), pour chaque fois que la condition sera remplie en sachant que les conditions sont diverses et variées.

le soucis c'est qu'il s'arrête une fois que la première condition est remplie. savez vous par quoi puis-je remplacer les elseif?

voici mon code.
   <?php 
$sql = 'SELECT * FROM creance where n_doss='.$_GET['n_doss'].'';
$result = mysql_query($sql) or die(__LINE__.mysql_error().$sql); 
?>
                  <?php
      $user = mysql_fetch_assoc($result)
      
        ?>Fiche des d&eacute;biteurs
                              </h2><table border="0" cellpadding="0" cellspacing="0">
                                <tr><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="creance.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?> "><?php echo $user['qualite'] ; ?></a></center></td>    <?php  
	 if ($user['qualite2']!= NULL)
	 { ?>
     <td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite2'] ; ?> "><?php echo $user['qualite2'] ; ?></a></center></td> 
<?php }
elseif ($qualite3!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite3'] ; ?> "><?php echo $user['qualite3'] ; ?></a></center></td>
<?php }
elseif ($qualite4!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite4'] ; ?> "><?php echo $user['qualite4'] ; ?></a></center></td>
<?php }
elseif ($qualite3!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite5'] ; ?> "><?php echo $user['qualite5'] ; ?></a></center></td>
<?php }
elseif ($qualite3!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite6'] ; ?> "><?php echo $user['qualite6'] ; ?></a></center><?php } ?></td>

     
     </tr></table>

Mammouth du PHP | 702 Messages

08 mars 2012, 18:09

J'ai modifié la reqûete avec un while et des ifs, mais en dépit de cela rien ne s'affiche.
<?php 
$sql = 'SELECT * FROM creance where n_doss='.$_GET['n_doss'].'';
$result = mysql_query($sql) or die(__LINE__.mysql_error().$sql); 
?>
                  Fiche des d&eacute;biteurs
                              </h2><table border="0" cellpadding="0" cellspacing="0">
                                <tr><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="creance.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?> "><?php echo $user['qualite'] ; ?></a></center></td>    <?php
      while($user = mysql_fetch_assoc($result))
      
        ?>
		<?php  
	 if ($user['qualite2']!= NULL)
	 { ?>
     <td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite2'] ; ?> "><?php echo $user['qualite2'] ; ?></a></center></td> 
<?php }
if ($user['qualite3']!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite3'] ; ?> "><?php echo $user['qualite3'] ; ?></a></center></td>
<?php }
if ($user['qualite4']!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite4'] ; ?> "><?php echo $user['qualite4'] ; ?></a></center></td>
<?php }
if ($user['qualite5']!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite5'] ; ?> "><?php echo $user['qualite5'] ; ?></a></center></td>
<?php }
if ($user['qualite6']!= NULL) 
{     ?><td width="150" height="30" align="center" background="images/onglet.png" valign="bottom"><center><a href="les-debiteurs.php?n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>&qualite=<?php echo $user['qualite6'] ; ?> "><?php echo $user['qualite6'] ; ?></a></center><?php } ?></td>

     
     </tr></table>

Mammouth du PHP | 702 Messages

08 mars 2012, 18:19

j'ai essayé avec
<?php  
	 if (!is_null($user['qualite2']))
	 { ?>
mais en dépit de cela, toujours rien ne fonctionne...+

Mammouth du PHP | 702 Messages

08 mars 2012, 18:22

j'ai essayé avec isset mais pareil !

Mammouth du PHP | 702 Messages

08 mars 2012, 18:25

j'ai essayé avec if !empty $var) mais pareil, en vain.

ViPHP
xTG
ViPHP | 7331 Messages

08 mars 2012, 18:27

Il serait intéressant de savoir ce qu'il y a dans ce tableau...
Car sinon il sera difficile de te diriger.

Mammouth du PHP | 702 Messages

08 mars 2012, 18:31

il y a des chaînes de caractère de type varchar(255), mais je sais qu'une chaine de caractère vide n'est pas nulle ( vu sur php.net), en dépit de cela je ne sais pas quelle fonction utiliser car je veux que si justement la variable n'est pas définie comme étant une chaine de caractère de plus de 0 caractères alors la fonction s'exécute.

ViPHP
xTG
ViPHP | 7331 Messages

08 mars 2012, 18:48

Pour tester le vide d'une string tu peux utiliser la fonction empty() ;)

Mammouth du PHP | 702 Messages

08 mars 2012, 18:49

j'ai fait cela ?>
<?php
if (!empty($user['qualite2']))
{ ?> mais ca ne marche pas, car il devrait me renvoyer queleque chose et il me renvoit rien

ViPHP
xTG
ViPHP | 7331 Messages

08 mars 2012, 19:29

Utilises var_dump($user) pour voir ce qu'il y a comme données dans l'array...
Car si rien ne s'affiche c'est véritablement que la variable est vide.

Mammouth du PHP | 702 Messages

09 mars 2012, 09:06

erreur de débutant ^^ j'ai omis les accolades au while...