Bouttons radio et rechargement [Résolu]

Signaler
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010
-
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010
-
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

Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

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
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
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
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

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
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

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 !!!!!
Messages postés
510
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
5 juillet 2009
2
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.
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

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