le 21/10/2003 à 16:49
i M@N
Reuh ... un boutton pour ton form ?
Nan ... t'es pas obligé ... mais c'est le plus simple.
Tu peux aussi faire un champ select de formulaire qui lance ta requête dès la sélection en JavaScript.
Pour ça il te faut un peu modifier ta requête qui te permet d'afficher les champs de ton formulaire select comme ça :
<html>
<head>
<title>Rechercher dans le catalogue</title>
<!-- DEBUT DU SCRIPT -->
<SCRIPT LANGUAGE="JavaScript">
function ChangeUrl(formulaire)
{
if (formulaire.Mot.selectedIndex != 0)
{
location.href = formulaire.Mot.options[formulaire.Mot.selectedIndex].value;
}
else
{
alert('Veuillez choisir une équipe.');
}
}
</SCRIPT>
<!-- FIN DU SCRIPT -->
</head>
<body>
-:-:-Sélectionner l'équipe -:-:-<br>
<select size="1" name="ListeEquip" onChange="ChangeUrl(this.form)">
<?
$i=1;
// lancement de la requête
sql = 'SELECT DISTINCT NomEquip,VilleEquip FROM EQUIPE ORDER BY NomEquip';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$NomEquip = $data['NomEquip'];
$VilleEquip = $data['VilleEquip'];
// on affiche les résultats
echo '<OPTION id='.$i.' VALUE="./affiche_equipe.php?equipe='.$equipe.'">'.$NomEquip.' de '.$VilleEquip.'';
$i++;
}
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
?>
</select>
Vala ... ça doit gazer , mais ton '.$NomEquip.' de '.$VilleEquip.' là par contre risque de poser un piti problème, parce que la reqête de select va afficher puis chercher "Girondins de Bordeaux" dans ta table EQUIPE ... et je suppose qu'il n'y a pas un troisième champ où ces deux premiers champs sont inscrits ainsi ...
à toi d'adapter ...
@+...
Nan ... t'es pas obligé ... mais c'est le plus simple.
Tu peux aussi faire un champ select de formulaire qui lance ta requête dès la sélection en JavaScript.
Pour ça il te faut un peu modifier ta requête qui te permet d'afficher les champs de ton formulaire select comme ça :
<html>
<head>
<title>Rechercher dans le catalogue</title>
<!-- DEBUT DU SCRIPT -->
<SCRIPT LANGUAGE="JavaScript">
function ChangeUrl(formulaire)
{
if (formulaire.Mot.selectedIndex != 0)
{
location.href = formulaire.Mot.options[formulaire.Mot.selectedIndex].value;
}
else
{
alert('Veuillez choisir une équipe.');
}
}
</SCRIPT>
<!-- FIN DU SCRIPT -->
</head>
<body>
-:-:-Sélectionner l'équipe -:-:-<br>
<select size="1" name="ListeEquip" onChange="ChangeUrl(this.form)">
<?
$i=1;
// lancement de la requête
sql = 'SELECT DISTINCT NomEquip,VilleEquip FROM EQUIPE ORDER BY NomEquip';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$NomEquip = $data['NomEquip'];
$VilleEquip = $data['VilleEquip'];
// on affiche les résultats
echo '<OPTION id='.$i.' VALUE="./affiche_equipe.php?equipe='.$equipe.'">'.$NomEquip.' de '.$VilleEquip.'';
$i++;
}
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
?>
</select>
Vala ... ça doit gazer , mais ton '.$NomEquip.' de '.$VilleEquip.' là par contre risque de poser un piti problème, parce que la reqête de select va afficher puis chercher "Girondins de Bordeaux" dans ta table EQUIPE ... et je suppose qu'il n'y a pas un troisième champ où ces deux premiers champs sont inscrits ainsi ...
à toi d'adapter ...
@+...