Bonjour à tous,
Je suis désolé de revenir à la charge avec cette question mais je cherche toujours une solution pour afficher les résultats d'un <select> en respectant à peu près la longueur des champs titres de la table (voir image dans le premier message).
J'ai essayé divers solutions mais rien ne fonctionne.
Voici la partie de mon code PHP de ma dernière tentative:
echo("<table class=\"tabGestVins\">\n" );
echo("<thead>\n" );
echo("<tr>\n" );
echo("<td colspan=\"5\"> </td>\n" );
echo("</tr>\n" );
echo("<tr>\n" );
echo("<td colspan=\"5\"><span class=\"titreListeLeft\">Données sur l'appellation</span></td>\n" );
echo("</tr>\n" );
echo("<tr>\n" );
echo("<td colspan=\"5\"> </td>\n" );
echo("</tr>\n" );
echo("<tr align=center>\n" );
echo("<td class=\"tabAppelTitreTD1\">N°</td>\n" );
echo("<td class=\"tabAppelTitreTD2\">Appellation</td>\n" );
echo("<td class=\"tabAppelTitreTD3\">Type</td>\n" );
echo("<td class=\"tabAppelTitreTD4\">Région</td>\n" );
echo("<td class=\"tabAppelTitreTD5\">Pays</td>\n" );
echo("</tr>\n" );
echo("</thead>\n" );
//création de la requête
$GestAppel = "SELECT carac_vins.ID_CARAC_VIN, APPELLATION, TYPE_CARAC_VIN, REGION_CARAC_VIN, PAYS_VIN
FROM carac_vins
INNER JOIN produits
ON produits.ID_CARAC_VIN = carac_vins.ID_CARAC_VIN
WHERE produits.ID_PROD = '$_POST[IdentVins]'";
//execution de la requête (ou affichage de l'erreur)
$ga=mysql_query($GestAppel) or die(mysql_error());
// On fait une boucle pour lister les valeurs selectionnees :
while($valGa=mysql_Fetch_array($ga))
{
echo("<tr>\n" );
//liste deroulante de l'ensemble des valeurs des appellations
echo("<td class=\"tabGestNScenter\" colspan=\"5\">\n<select class=\"longSelect\" title=\"liste des appellations\" name=\"totalAppel\">\n" );
echo("<option selected value=\"".htmlentities($valGa['ID_CARAC_VIN'])."\"><div class=\"appTd1\">".htmlentities($valGa['ID_CARAC_VIN'])."</div><div class=\"appTd2\">".htmlentities($valGa['APPELLATION'])."</div><div class=\"appTd3\">".htmlentities($valGa['TYPE_CARAC_VIN'])."</div><div class=\"appTd4\">".htmlentities($valGa['REGION_CARAC_VIN'])."</div><div class=\"appTd5\">".htmlentities($valGa['PAYS_VIN'])."</div></option>\n" );
//creation de la requete pour la liste deroulante
$deroulAppel = "SELECT carac_vins.ID_CARAC_VIN, APPELLATION, TYPE_CARAC_VIN, REGION_CARAC_VIN, PAYS_VIN
FROM carac_vins ORDER BY ID_CARAC_VIN ASC";
//execution de la requête (ou affichage de l'erreur)
$dA=mysql_query($deroulAppel) or die(mysql_error()); //execution de la requete (ou affiche l'erreur)
// On fait une boucle pour lister les valeurs selectionnees :
while($row=mysql_Fetch_array($dA)) //boucle tant que des données sont extraites
{
echo("<option class=\"SelectAlignGauche\" value=\"".$row['ID_CARAC_VIN']."\"><div class=\"appTd1\">".htmlentities($row['ID_CARAC_VIN'])."</div><div class=\"appTd2\">".htmlentities($row['APPELLATION'])."</div><div class=\"appTd3\">".htmlentities($row['TYPE_CARAC_VIN'])."</div><div class=\"appTd4\">".htmlentities($row['REGION_CARAC_VIN'])."</div><div class=\"appTd5\">".htmlentities($row['PAYS_VIN'])."</div></option>\n" );
}
echo("</select></td>\n" );
}
echo("<tr>\n" );
echo("<td colspan=\"5\"> </td>\n" );
echo("</tr>\n" );
echo("</table>\n" );
Et la partie du CSS:
.tabGestVins { width:960px; border-collapse:collapse; vertical-align:middle; }
.SelectAlignGauche { text-align:left; padding-left:5px; padding-right:5px; }
.titreListeLeft { font-weight: bolder; font-size:18px; color:#940F17; text-align:left; text-indent:0; margin-left:0; }
.appTd1 { width:60px; display:block; float:left; }
.appTd2 { width:350px; display:block; float:left; }
.appTd3 { width:100px; display:block; float:left; }
.appTd4 { width:215px; display:block; float:left; }
.appTd5 { width:215px; display:block; float:left; }
.tabAppelTitreTD1 { width:60px; height:30px; text-align:center; vertical-align:middle; font-size:14px; border:1px solid #000; border-collapse:collapse; background-color:#CCC; font-weight:bolder; }
.tabAppelTitreTD2 { width:350px; height:30px; text-align:center; vertical-align:middle; font-size:14px; border:1px solid #000; border-collapse:collapse; background-color:#CCC; font-weight:bolder; }
.tabAppelTitreTD3 { width:100px; height:30px; text-align:center; vertical-align:middle; font-size:14px; border:1px solid #000; border-collapse:collapse; background-color:#CCC; font-weight:bolder; }
.tabAppelTitreTD4 { width:215px; height:30px; text-align:center; vertical-align:middle; font-size:14px; border:1px solid #000; border-collapse:collapse; background-color:#CCC; font-weight:bolder; }
.tabAppelTitreTD5 { width:215px; height:30px; text-align:center; vertical-align:middle; font-size:14px; border:1px solid #000; border-collapse:collapse; background-color:#CCC; font-weight:bolder; }
.tabGestNScenter { text-align:center; font-size:14px; height:25px; border:1px solid #000; border-collapse:collapse; background-color:#FFF; }
Cela fait trop longtemps que je suis dessus, peut-être existe t'il une autre façon de faire (sans <select> ou penser directement la conception global de ma table) mais je n'ai plus les idées claires, je manque de recul maintenant.
Je pense qu'un regard neuf pourrait m'aider à trouver une solution (enfin j'espère).
J'ai besoin de votre aide!
Message édité par SV_LVH le 07-06-2010 à 06:26:08