2010-09-26 8 views
1

J'ai une page de galerie qui change la catégorie basée sur $ _POST ("chat"), comment j'utilise la liste déroulante d'option pour recharger la page (ou seulement la galerie) pour changer la vue de galerie en conséquence.Comment utiliser les listes d'options pour modifier la valeur POST?

Voici la liste des options:

<form> 
     <select> 
     <option value="">Pick A Category:</option> 
     <option value="1">Landscape</option> 
     <option value="2">Wedding</option> 
     <option value="3">Miscellaneous</option> 
     </select> 
    </form> 

Voici la liste des options php:

<?php 
    $dir_cat[0] = "images/landscape/"; 
    $dir_cat[1] = "images/wedding/"; 
    $dir_cat[2] = "images/misc/"; 
    if (isset($_POST['cat']) && isset($dir_cat[$_POST['cat']])) { 
     // alocate image category according to the POST value 
     $image_dir = $dir_cat[$_POST['cat']]; 
    } else { 
     // set default image category 
     $image_dir = $dir_cat[0]; 
?> 

Répondre

0
<form action="gallery.php" method= "post"> 
    <select name="cat" onchange="this.form.submit();"> 
     <option value="">Select Category:</option> 
     <option value="0">Landscape</option> 
     <option value="1">Wedding</option> 
     <option value="2">Miscellaneous</option> 
    </select> 
</form> 
+0

merci, ça fonctionne comme du charme :) –

0

en html, vous pouvez ajouter un paramètre de valeur à toutes les options, ce sera dans le $ _POST [ 'cat'] puis avec un simple 'si' ou 'switch', vous pouvez modifier l'affichage de la galerie

+0

Bonjour, comment exactement recharger la page avec la valeur sélectionnée dans la valeur POST "cat"? Je suis un peu perdu à un javascript ici .. –

0
<form> 
    <select id=cat name=cat> 
    <option value="0">Pick A Category:</option> 
    <option value="1">Landscape</option> 
    <option value="2">Wedding</option> 
    <option value="3">Miscellaneous</option> 
    </select> 
</form> 

Si le formulaire utilise la méthode POST, vous pouvez accéder au chat comme ceci;

if(isset($_POST['cat']) && (int)$_POST['cat'] < 4) 

Tout ce que vous devez faire est de correspondre à la valeur = n dans votre formulaire HTML à la clé dans votre dir_cat de $ []

$dir_cat[1] = "images/Landscape" ; 

Ensuite, lorsque vous êtes sûr que le « chat » entrant est dans les limites (entre 1 et 4), vous pouvez simplement faire;

include $dir_cat[$_POST['cat']]; 
+0

Je vois, ça explique ma confusion, merci :) –

Questions connexes