Bonjour,
Je voudrais pouvoir faire des recherches variable dans un tableau deux dimensions.
je m'explique.
J'ai un tableau dans cette forme:
J'ai également un formulaire de recherche qui fonctionne avec la méthode post.Code:
1
2
3
4
5
6
7
8
9
10
11 <?php $table = array( 0 => array("nom" => "marc", "prenom", "jule", "age" => "23", "id" => "W24"), 1 => array("nom" => "stephane", "prenom", "paul", "age" => "25", "id" => "W25"), 2 => array("nom" => "loic", "prenom", "julie", "age" => "21", "id" => "W26"), 3 => array("nom" => "mathieu", "prenom", "sarah", "age" => "23", "id" => "W27"), 4 => array("nom" => "luc", "prenom", "audrey", "age" => "25", "id" => "W28"), 5 => array("nom" => "loic", "prenom", "jule", "age" => "23", "id" => "W29") ); ?>
dans ce style là.Code:
1
2
3
4
5
6
7 <form method="POST"> <input type="text" name="nom" /> <input type="text" name="prenom" /> <input type="text" name="age" /> <input type="text" name="ref" /> </form>
Par exemple si je fait une recherche sur l'age, j'aimerais qu'il me donnent l'id des tableau correspondant.
dans un premier temps je me suis dis que je pourrais créer une autre variable avec une recherche avec array_search
mais après multiple test je n'y suis pas arrivé
Voici un petit test que j'ai effectué mais sans succès..
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php $table = array( 0 => array("nom" => "marc", "prenom", "jule", "age" => "23", "id" => "W24"), 1 => array("nom" => "stephane", "prenom", "paul", "age" => "25", "id" => "W25"), 2 => array("nom" => "loic", "prenom", "julie", "age" => "21", "id" => "W26"), 3 => array("nom" => "mathieu", "prenom", "sarah", "age" => "23", "id" => "W27"), 4 => array("nom" => "luc", "prenom", "audrey", "age" => "25", "id" => "W28"), 5 => array("nom" => "loic", "prenom", "jule", "age" => "23", "id" => "W29") ); foreach ($table as $key => $value) { $table_schearch[] = array_search("marc", array_column($table[$key], 'nom')); $table_schearch[] = array_search("25", array_column($table[$key], 'age')); $table_schearch[] = array_search("stephane", array_column($table[$key], 'nom')); } $table_schearch = array_unique($table_schearch); debug($table); debug($table_schearch); ?>
Auriez vous une solution plus simple et plus efficaces ?
en sachant que dans mon véritable tableau j'ai une histoire de 50 recherches différente possible.
Merci d'avance