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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager