J'ai toujours un problème avec le bouton qui doit être sélectionné par défaut. Du fait qu'il n'est pas clické au chargement de la page, j'ai un message d'erreur. Voici mon code :
<center><form name="choix_guide" action="admin_fonctions.php" method="POST">
<table width=40% border=1 cellspacing=1 cellpadding=8>
<tr>
<td colspan=2>Liste des guides</td>
</tr>
<?php
$guides=array
(1=>"Guide des Services",
2=>"Guide Industriel",
3=>"Guide de la Filière Pêche",
4=>"Guide des Imports/Exports"
);
$j=1;
/*** Construction des boutons radio ***/
foreach ($guides as $i)
{
/*** Si aucun choix n'a encore été fait, le guide FP est sélectionné par défaut ***/
if ($j==3) :
echo '<tr><td>'.$j.'</td><td><input type="radio" name="guide" value="'.$j.'" checked onClick="document.forms.choix_guide.submit()">'.$i.'</td></tr>';
else :
echo '<tr><td>'.$j.'</td><td><input type="radio" name="guide" value="'.$j.'" onClick="document.forms.choix_guide.submit()">'.$i.'</td></tr>';
endif;
$j++;
}
echo '</table></form></center><br><br>';
<center><table width=40% border=1 cellspacing=1 cellpadding=8>
<?php
/*** Requête donnant les fonctions associées au guide choisi ***/
if (isset($_POST["guide"])) :
$req="SELECT distinct f.fonction
FROM fonction AS f
WHERE f.guide='".$_POST["guide"]."'
ORDER BY 1";
$result=mysql_query($req) or die ('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
/*** Titre du tableau en fonction du guide choisi ***/
$nom_tab=htmlentities ('Fonctions associées au').' '.$guides[$_POST["guide"]];
/******************************************************************************************************************************************************************************************/
/*** Fonction liste_tab_fonctions :
Paramètres :
$resultat : résultat de mysql_query($requête)
$first_line : titre du tableau
Renvoie les chaînes de caractères correspondant à chaque ligne du tableau. Le tableau est prévu pour qu'une cellule soit créée pour chaque champ de la requête.
1) Construction de la ligne contenant le titre du tableau => fusion de la cellule sur (la cellule contenant le numéro de la ligne ($i) + les cellules contenant les champs + la cellule contenant le lien "Modifier"
+ la cellule contenant le lien "Supprimer" + la cellule contenant le lien "Monter" + la cellule contenant le lien "Descendre")
2) Construction des lignes du tableau => le nombre de lignes correspond au nombre d'enregistrements de la requête
3) Construction de la ligne contenant le bouton "Ajouter" => fusion de la cellule sur (les cellules contenant les champs + la cellule contenant le lien "Modifier" + la cellule contenant le lien "Supprimer" + la cellule
contenant le lien "Monter" + la cellule contenant le lien "Descendre") ***/
/******************************************************************************************************************************************************************************************/
function liste_tab_fonctions ($resultat,$first_line)
{
$nb_champs=mysql_num_fields($resultat);
$max1=$nb_champs+1;
$max2=$nb_champs+4;
$max3=$nb_champs+5;
$L=mysql_num_rows($resultat);
if ($L==0) :
$i=0;
/*** Si aucun enregistrement n'est renvoyé, le nombre de champs est assimilé à 1 (celui qui affiche "Aucun élément") et on ne prévoit évidemment pas de cellules pour les liens "Modifier", "Supprimer",
"Monter" et "Descendre" ***/
echo '<tr><td width=100% colspan='.$max1.'>'.$first_line.'</td></tr>';
echo '<tr><td></td><td>Aucun élément</td></tr>';
echo '<td></td><td align=right colspan='.$nb_champs.'><input type="submit" name="B_Ajouter" value="Ajouter"></td></tr>';
else :
$i=1;
echo '<tr><td width=100% colspan='.$max3.'>'.$first_line.'</td></tr>';
while ($row=mysql_fetch_array($resultat)) :
echo '<tr><td>'.$i.'</td>';
for ($C=0;$C<mysql_num_fields($resultat);$C++) :
echo '<td>'.stripslashes(htmlentities(strtoupper($row[$C]))).'</td>';
endfor;
$i++;
echo '<td>Modifier</td><td>Supprimer</td><td>Monter</td><td>Descendre</td></tr>';
endwhile;
echo '<td></td><td align=right colspan='.$max2.'><input type="submit" name="B_Ajouter" value="Ajouter une fonction"></td></tr>';
endif;
}
liste_tab_fonctions ($result,$nom_tab);
endif;
?>
</table></center>
Désolée pour la mise en forme mais c'est en copiant ici que ça bouge tout.