Bouttons radio et rechargement

Résolu
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010 - 1 oct. 2008 à 13:32
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010 - 2 oct. 2008 à 17:15
Bonjour à tous,

Dans le cadre du développement d'un petit moteur de recherche (pour un intranet), je souhaiterai proposer plusieurs options : effectuer une recherche "globale" ou "par catégorie". J'ai pour cela placé deux bouttons radio sur ma page.
Ce que je souhaiterai, c'est que lorsque je clique sur "par catégorie", ma liste déroulante (qui est remplie par une requête php) qui contient les catégorie s'affiche. Si je clic sur global, elle disparait.
Faut-il que je fasse rafraichir la page en ajoutant un include 'toto.php' (par exemple) ou toto.php contient ma liste déroulante lorsque je clique sur "par catégorie" ? ou bien existe il une méthode qui permet de cacher la liste déroulante et de la faire ré-aparaitre lorque je cliquerai sur mon boutton radio ?
Je ne sais pas du tout comment procéder.
Merci à ceux qui pourront m'aider
Cordialement,

Paul

6 réponses

aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
2 oct. 2008 à 17:15
A force de chercher, j'ai fini par trouver, en faisant comme ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script src="prototype.js"></script>
<script language="JavaScript">
function affichage(eltAafficher, eltAcacher)
{
var eltAfficher = document.getElementById(eltAafficher);
eltAfficher.style.visibility="visible";
var eltAcacher = document.getElementById(eltAcacher);
eltAcacher.style.visibility="hidden";
}
</script>

<form id="form1" name="form1" method="post" action="procedures2.php">
  <label>
 

   
     

Global
Par catégorie

<?php

               $query = mysql_query("SELECT * FROM categorie order by cat_nom;") or die (mysql_error());
if ($query) {
   
    echo '<select name="selectcat" >';
    while ($array = mysql_fetch_assoc($query)) {
        if ($selectcat == $array["cat_nom"]) {
            echo '<option value="' . $array['cat_nom'] . '" selected>' . $array['cat_nom'] . '</option>';
        } else {
            echo '<option value="'.$array['cat_nom'] . '">' . $array['cat_nom'] . '</option>';
        }   
    }
    echo '</select>';
}
?>

  
     
      <center>  </center>
     

  
   

   
   

    </center>
</html>

   Merci à tous pour votre aide.
Cordialement,

Paul
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
1 oct. 2008 à 13:54
1/attraper l'événement de click surement onClick="" (avec un filet ça marche mal)
2/balancer une requete Ajax, voir prototype (la librairie pas le DP ou le produit)
3/résoudre le problème
4/Crier dans la rue que Teclis01 est parfait et modeste

PS: les étpaes 1 et 2 ne sont pas nécéssaire pour la 4
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
1 oct. 2008 à 20:08
Merci à toi Teclis01, mais j'aurai besoin de quelques précisions :
Est-ce-que je doit faire un rechargement de page lorsque je clic sur la radio boutton avec l'evenement onclick ? ou est-ce-que j'utilise cet evenement juste pour afficher ma liste de selection ?
Dois-je mettre ma liste déroulante dans un autre fichier PHP ou existe-t-il un moyen pour la cacher et la rendre visible avec l'evenement onclick ? (la mettre en type hidden, ou un truc du genre...)
Et qu'entend-tu pas balancer une requete AJAX voir prototype (la librairie pas le DP ou le produit) ? Je ne comprend pas cette phrase...
Si tu répond à ça je crierai dans la rue que tu es le meilleur lool
En tout cas merci à toi pour la réponse c'est cool
Cordialement,

Polo
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
1 oct. 2008 à 21:24
Pour faire plus simple : je rempli une liste déroulante avec une requete php. Je souhaiterai pouvoir afficher cette liste lorsque je clic sur un radio bouton et la faire disparaitre si je clic sur un autre. J'ai trouvé des codes pour le faire avec des liste déroulantes remplies à la main en php, mais je bloque pour la mienne...Je n'arrive pas à comprend so need help please !!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
2 oct. 2008 à 08:46
Un bout de code peut-être qu'on voit ce qui bloque ?
Sinon, tu te fais une fonction js qui "masque" au moyen d'un style css ta liste déroulante, et tu appelles cette fonction au moment du clic sur le bouton radio.
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
2 oct. 2008 à 11:37
Merci à toi. j'ai suivi ton conseil et voici mon code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script src="prototype.js"></script>
<script language="JavaScript">
function affichage(eltAafficher, eltAcacher)
{
var eltAfficher = document.getElementById(eltAafficher);
eltAfficher.style.visibility="visible";
var eltAcacher = document.getElementById(eltAcacher);
eltAcacher.style.visibility="hidden";
}
</script>
<form id="form1" name="form1" method="post" action="procedures.php">
  <label>
 

   
     

Global
Par catégorie
<?php
 include 'connexion.php';
               $query = mysql_query("SELECT * FROM categorie order by cat_nom;") or die (mysql_error());
if ($query) {
   
    echo '<select name="selectcat" visibility:hidden>';
    while ($array = mysql_fetch_assoc($query)) {
        if ($selectcat == $array["cat_nom"]) {
            echo '<option value="' . $array['cat_nom'] . '" selected>' . $array['cat_nom'] . '</option>';
        } else {
            echo '<option value="'.$array['cat_nom'] . '">' . $array['cat_nom'] . '</option>';
        }   
    }
    echo '</select>';
}
?>
     

     
       
   

   
   

    </center>
</html>
 
Mais j'ai un message d'erreur : pour chaque champ de ma liste déroulante :
Notice: Undefined variable: selectcat in C:\Program Files\EasyPHP 2.0b1\www\find.php on line 30

Tu peux m'aider stp bling 182 ?
Merci
0
Rejoignez-nous