Tu a plusieurs façon de le faire mais je pense que la mieux serait d'utiliser l'Ajax.
Tu trouvera facilement des explication sur l'Ajax dans pas mal de site ( c'est pas compliquer c'est du copier/coller et tu change 2 ,3 valeurs ).
Le mieux serait de répondre à la question par au minimum une piste exploitable.
J'ajouterai, en revanche, à ce que dit justement xtg:
Sachant que le mieux serait de mettre un attribut value à tes input afin de savoir lequel a été sélectionné et de leur mettre le même nom (afin de ne pouvoir en sélectionner qu'un).
Toutes les occurrences concurrentes d'un bouton radio
doivent porter le même nom pour fonctionner correctement, et, pour savoir laquelle a été choisie, il faut donner une
value différente à chacune.
Ce que tu écris donne des boutons radio indépendants qui peuvent être sélectionnés simultanément.
au lieu de :
<input type = 'radio' name = 'nom' />Nom
....
<form method = "post"...>
<input type = 'radio' name = 'critere' value = 'le_nom_de_la_colonne_dans_la_table_mysql'/>Nom
<input type = 'radio' name = 'critere' value = 'le_nom_de_la_colonne_dans_la_table_mysql'/>Matricule
....
Tu peux ajouter un attribut
checked = "checked" sur un des trois boutons pour être sûr qu'un critère de choix est sélectionné (le choix par défaut). Sinon, mais IE ne le connaît pas,
required = "required" sur un seul des <input..> fonctionne aussi.
et de l'autre côté:
$champ_cherche = $_POST['critere'];
$sql = "SELECT '$champ_recherche' from...
Annexement, pour la beauté du geste, je me pencherais sur <label for 'nomdechamp'>TOTO</label>