Rechercher : dans
Par :

Fonction de rechercher (php)

Dernière réponse le 6 jui 2009 à 10:29:57 Choupi12, le 3 jui 2009 à 09:27:17 
 Signaler ce message aux modérateurs

Bonjour,
Je fais un tableau d'utilisateurs en php mais ma liste est longue et je voudrais faire un input text pour rechercher mes utilisateurs selon un critère. Seulement je ne vois pas quelle fonction utiliser pour récupéré mes utilisateurs. Le but étant que lorsqu'on note un nom ou un début de nom mes utilisateurs s'affiche a partir de ce nom ou début de nom ... Pouvez vous m'aider ? merci d'avance.

Je vous montre mon début mon code avec le tableau et mon input text.
?><tr><?php
foreach ($tableau as $val)
{
?><td><?php echo $val['nom']; ?></td><?php
?><td><?php echo $val ['prenom']; ?></td><?php
?><td><?php echo $val ['fonction']; ?></td><?php
?><td><?php echo $val ['mail']; ?></td><?php
?></tr><?php
}

?>
<p>Rechercher un utilisateur : </p>

<form align = "center">
<input type="text" name="<?php$mot?> "hize="20">
<input type="submit" value="Rechercher" alt="Lancer la recherche!">

</form>

Configuration: Windows XP Internet Explorer 7.0

Meilleures réponses pour « fonction de rechercher (php) » dans :
Retrouver la Recherche de Vista et créer un raccourci VoirOù est passée cette importante Fonction " Rechercher " dans Vista SP1 ? Sous Microsoft Windows Vista, la recherche avancée d'un fichier par son contenu est moins intuitive que sur Microsoft Windows XP, qui lui avait une entrée réservée. Première...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
PHP - Créer un moteur de recherche VoirIdée générale Le moteur de recherche ci-dessous ne correspond qu'à une idée possible de moteur de recherche simple, ne gérant qu'un seul mot clé. Le concept du fonctionnement de ce moteur est de créer une base de donnée contenant les mots clés de...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...

1

Choupi12, le 3 jui 2009 à 11:00:13

Up please ^^

Répondre à Choupi12

2

sonik21, le 3 jui 2009 à 11:14:02

Tu veux que cela ce fasse automatique, ou alors ça ne te dérange pas que la page se recharge pour afficher la liste des pseudo commençant par le critère de recherche ?

Et les données du tableau sont extraite d'un BDD ou... ? JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

3

Choupi12, le 3 jui 2009 à 11:16:17

Ben je préfèré que sa se fasse automtiquement mais si ta solution nécessite un rafaichissement de page c'est pas grave je suis preneuse.

Répondre à Choupi12

4

sonik21, le 3 jui 2009 à 11:47:38

Pour le faire automatiquement, il faudrait utiliser javascript, ne connaissant pas très bien javascript, je te passe une méthode avec PHP :

<?php
foreach ($tableau as $val)
{
?>
    <?php
    if( isset($_POST['keyword']) ){
$keyword = $_POST['keyword'];

if (preg_match("#^$keyword#", $val['nom'])){
    ?>

<td><?php echo $val['nom']; ?></td>
<td><?php echo $val ['prenom']; ?></td>
<td><?php echo $val ['fonction']; ?></td>
<td><?php echo $val ['mail']; ?></td>

    <?php
}
else{
}
    }
    else{
    ?>

<td><?php echo $val['nom']; ?></td>
<td><?php echo $val ['prenom']; ?></td>
<td><?php echo $val ['fonction']; ?></td>
<td><?php echo $val ['mail']; ?></td>

    <?php
    }
    ?>

<?php
}
?>

<p>Rechercher un utilisateur : </p>

<form action="#" method="POST">
<input type="text" name="keyword" value="" size="20">
<input type="submit" value="Rechercher" alt="Lancer la recherche!">
</form>



heu... bon ya certainement plein d'erreur mais le principe est là... j'ai pas trop le temps là si tu patiente jusqu'à cet aprem' j'auaris le temps de te faire un truc correct JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

5

Choupi12, le 3 jui 2009 à 11:50:07

Ok je serai la cette aprem. bon dja je prend sa et je test si ya truc faut jvais chercher pour les corriger t jte tien au courant merci bcp.

Répondre à Choupi12

6

sonik21, le 3 jui 2009 à 14:31:38

Alors, beaucoup d'erreur ? JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

7

Choupi12, le 3 jui 2009 à 14:44:48

Ben ouii assez. disons que a proprement parler ya aucun message d'erreur. mais lorsque le code s'éxécute sa me réaffiche plusieur fois ma liste

Répondre à Choupi12

8

sonik21, le 3 jui 2009 à 15:25:04

Ouai bon je te refais ça bien je reposte dans 1/2 heure ^^ JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

9

Choupi12, le 3 jui 2009 à 15:29:55

Ok ;)

Répondre à Choupi12

10

Choupi12, le 3 jui 2009 à 15:43:37

Ah au passage, j'avais pas vu ta question tout a l'heure.
Donc je n'est pas de base de données mais j'ai récupéré une liste d'utilisateur provenant d'un Active directory.

Répondre à Choupi12

11

sonik21, le 3 jui 2009 à 15:45:01

Bon bah j'ai tester chez moi en créant un tableau vite fait et ça marche bien comme ça :

<?php
$tableau = array();
$tableau[0]['nom'] = "cyber.angel";
$tableau[1]['nom'] = "evuez";
$tableau[2]['nom'] = "chewaka";
$tableau[3]['nom'] = "cestpasmoi";
$tableau[0]['prenom'] = "julien";
$tableau[1]['prenom'] = "elsa";
$tableau[2]['prenom'] = "jerome";
$tableau[3]['prenom'] = "personne";
$tableau[0]['fonction'] = "aucune";
$tableau[1]['fonction'] = "aucune";
$tableau[2]['fonction'] = "aucune";
$tableau[3]['fonction'] = "aucune";
$tableau[0]['mail'] = "machin@machin.com";
$tableau[1]['mail'] = "machin@machin.com";
$tableau[2]['mail'] = "machin@machin.com";
$tableau[3]['mail'] = "machin@machin.com";
?>

<p>Rechercher un utilisateur : </p>

<form action="#" method="POST">
<input type="text" name="keyword" value="" size="20">
<input type="submit" value="Rechercher" alt="Lancer la recherche!">
</form>

<table border="2">
    
<?php
foreach ($tableau as $val)
{
?>
    <?php
    if( isset($_POST['keyword']) ){
$keyword = $_POST['keyword'];

if (preg_match("#^$keyword#", $val['nom'])){
    ?>

<tr>
<td><?php echo $val['nom']; ?></td>
<td><?php echo $val['prenom']; ?></td>
<td><?php echo $val['fonction']; ?></td>
<td><?php echo $val['mail']; ?></td>
</tr>

    <?php
}
else{
}
    }
    else{
    ?>

<tr>
<td><?php echo $val['nom']; ?></td>
<td><?php echo $val['prenom']; ?></td>
<td><?php echo $val['fonction']; ?></td>
<td><?php echo $val['mail']; ?></td>
</tr>

    <?php
    }
    ?>

<?php
}
?>

</table>




JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

12

Choupi12, le 3 jui 2009 à 15:52:22

Simple question pourquoi tu réécrit ca ??? Mon tableau va s'afficher 2 fois
<tr>
<td><?php echo $val['nom']; ?></td>
<td><?php echo $val['prenom']; ?></td>
<td><?php echo $val['fonction']; ?></td>
<td><?php echo $val['mail']; ?></td>
</tr>

Répondre à Choupi12

13

sonik21, le 3 jui 2009 à 15:54:41

Bah non, parce que si on lance une recherche, il affiche les résultats, sinon il affiche tout le contenu du tableau.
mais tu peux enlever le 2ème si tu veux ^^ JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

14

Choupi12, le 3 jui 2009 à 15:56:38

Ok ok. bon j'ai garder les deux sa me va comme sa. Sa ne marche pas tout a fais mais je pense étre sur la bonne voi grace a toi merci

Répondre à Choupi12

15

sonik21, le 3 jui 2009 à 15:58:06

De rien, si tu a un problème hésite pas ;) JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

16

Choupi12, le 6 jui 2009 à 10:24:36

Rebonjour !
Merci pour ce code il marchait parfaitement en fait. seulement je ne m'en été pas rendu compte tout de suite parce que j'ai un petit problème avec la casse de mon $nom.
je voudrais faire en sorte de l'ignorer comme sa mes utilisateurs ne seront pas obliger de tapé en majuscule. aprés plusieur tentative je n'y arrive toujours pas.
Si quelqu'un a une idée. merci d'avance.

Répondre à Choupi12

17

 Choupi12, le 6 jui 2009 à 10:29:57

BON J'ai persévéré et j'ai finalement trouvé ^^ merci encore !

Répondre à Choupi12
Collection CommentÇaMarche.net