Comment gérer un formulaire dynamique de recherche

Comment gérer un formulaire dynamique de recherche - PHP - Programmation

Marsh Posté le 12-06-2007 à 22:31:54    

Salut  :hello:  
 
J'ai un formulaire de recherche avec des champs dynamiques.
 
En gros j'ai du genre :
http://foliop.free.fr/h.jpg
 
De la ca me sort un tableau du style :

Code :
  1. Array
  2. (
  3.     [value-10] => Centrino
  4.     [filtre-18] => <=
  5.     [value-18] => 1 Mo
  6.     [search_ok] => 1
  7. )


 
Mes champs simple style "Centrino" se nomme Value-{ID}.
Mes champs du style "au plus" se nomme Filtre-{ID}.
 
En gros mon soucis est que la dessus j'aimerai arrivé au final à ca :

Code :
  1. [10] = [value-10]
  2. [18] [filtre-18] 1 Mo


 
Je vois pas du tout comment faire  :cry:

Reply

Marsh Posté le 12-06-2007 à 22:31:54   

Reply

Marsh Posté le 13-06-2007 à 09:02:56    

:(

Reply

Marsh Posté le 13-06-2007 à 09:05:58    

ben sur chaque clé du tableau $_POST (ou $_GET), tu appliques :
$ArrayNames = explode('-', NomClé);  
Dans $ArrayNames[1], tu trouveras ton ID.

Reply

Marsh Posté le 13-06-2007 à 09:32:22    

Oui mais comment gérer les filtre etc ? lui dire que si il trouve un filtre-18 ca ira avec value-18

Reply

Marsh Posté le 13-06-2007 à 09:48:15    

Code :
  1. foreach($_POST as $cle => $valeur){
  2.    if(strpos($cle,'Filtre-') ===0 ) // les 3 egaal sont obligatoire pour faitre une comparaison de valeur et de type
  3.    {
  4. //       J'ai un filtre
  5.          $id = substr($cle,strlen('Filtre-'));
  6.    }
  7.    if(strpos($cle,'value-') ===0 ) // les 3 egaal sont obligatoire pour faitre une comparaison de valeur et de type
  8.    {
  9. //       J'ai une valeur
  10.          $id = substr($cle,strlen('value-'));
  11.    }
  12. }


Message édité par flo850 le 13-06-2007 à 09:49:31
Reply

Marsh Posté le 13-06-2007 à 09:55:31    

Code :
  1. $ArraySearchParams = array();
  2. foreach($_POST as $Key => $Value)
  3. {
  4.     $ArrayTmp = explode('-', $Key);
  5.     if (isset($ArrayTmp[1]))
  6.     {
  7.         // $ArrayTmp[0] contient "Filtre" ou "value"
  8.         // $ArrayTmp[1] contient l'ID
  9.         $ArraySearchParams[$ArrayTmp[1]][$ArrayTmp[0]] = $Value; 
  10.     }
  11. }

Reply

Marsh Posté le 13-06-2007 à 10:41:47    

rufo > merci bcp tes un chef

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed