IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

formulaire multicritere pb de code


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 121
    Points : 59
    Points
    59
    Par défaut formulaire multicritere pb de code
    bjr

    j'ai écrit ce code qui grace a 5 critères permet de chercher un fichier pdf, on n'est pas obligé de rentrer les 5 criteres ...mais bon j'ai un souci c'est pas vraiment ce que je voulais, je m'explique les noms des fichier pdf sont de cette forme SECXX_TYP_REF_OBJET_DATE

    au depart j'aivais ca:
    grace a UN critere je pouvais avoir les fichiers correspondant au critere donné...


    Code : PHP
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <link rel="stylesheet" type="text/css" title="site2" href="site2.css" />
     
     
        <head>
     </head>
      <body>
     
     <?php
     
     if (isset($_POST['section'])) // Si la variable existe
          { $posi = $_POST['position'] - 1;
         $dossier = 'Courrier/' ;
         $list = scandir($dossier);   //scan le dossier Courrier
         foreach ($list as $file) //identique a for mais specifié au tableau
           { $divfichier = explode('_',$file);
            if(preg_match('`'.$_POST['section'].'`', $divfichier[$posi])){
                 echo '<a href="'.$file.'">'.$file.'</a><br/>';
          }
     }
    }
     
    else // La variable n'existe pas encore
    {
        $section = ""; // On crée une variable $section vide
    }
     ?>
     
     
     
    Recherche du fichier:
      <form action= "fichier.php" method="post">
        <p>
        <select name = "position"/><option value="1">Corps administratif du courrier</option><option value="2">Type de courrier</option><option value="3">Numero du courrier</option><option value="4">Objet du courrier</option><option value="5">Date du courrirer</option></select><br/>
        <input type ="text" name= "section" />
                  <input type ="submit" value ="Validez" />
     
        </p>
        </form>
        </body>
        </html>

    mais j'aimerais que grace AUX criteres donnés avoir le fichier voulu c'est a dire que je veux renseigner plusieurs criteres a la fois, soit un, 2, 3 ou 4 criteres choisi...J'ai ecrit ce code mais je suis pas satisfaite parce que j'ai du passer par les options (qui ne serve dans ce cas a rien) pour avoir ce que je veux...j'aimerais donc les enlever...comme vous l'aurez remarqué je suis noviste en php

    merci a vous!!!





    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <link rel="stylesheet" type="text/css" title="site2" href="site2.css" />
     
     
        <head>
     </head>
      <body>
     
     <?php
     
     if ((isset($_POST['section'])) and (isset($_POST['type']))) // Si la variable existe
          { $posi1 = $_POST['position1'] - 1;
            $posi2 = $_POST['position2'] - 1;
      $posi3 = $_POST['position3'] - 1;
      $posi4 = $_POST['position4'] - 1;
      $posi5 = $_POST['position5'] - 1;
     
         $dossier = 'Courrier/' ;
         $list = scandir($dossier);   //scan le dossier Courrier
         foreach ($list as $file) //identique a for mais specifié au tableau
           { $divfichier = explode('_',$file);
            if((preg_match('`'.$_POST['section'].'`', $divfichier[$posi1])) AND  
               (preg_match('`'.$_POST['type'].'`', $divfichier[$posi2])) AND  
        (preg_match('`'.$_POST['reference'].'`', $divfichier[$posi3])) AND  
        (preg_match('`'.$_POST['objet'].'`', $divfichier[$posi4])) AND  
        (preg_match('`'.$_POST['date'].'`', $divfichier[$posi5])))
      {
                      echo '<a href="'.$file.'">'.$file.'</a><br/>';
          }
     }
    }
     
    else // La variable n'existe pas encore
    {
        $section = ""; // On crée une variable $section vide
    }
     ?>
     
     
    <p>
     
    <form action= "new 2.php" method="post">
     
    <p>
    <select name = "position1"/><option value="1">Corps administratif du    courrier</option> </select
    <select name = "position2"/><option value="2">Type de courrier</option</select>
    <select name = "position3"/><option value="3">Reference du courrier</option></select>
    <select name = "position4"/><option value="4">Objet du courrier</option</select>
    <select name = "position5"/><option value="5">Date du Courrier</option></select>
    </p>
     
     
    Recherche du fichier :  
     
    <p>
     
    <p> Corps administratif: <input type ="text" name= "section"/> </P>            
    <p> Type de courrier: <input type ="text" name= "type"/> </p>  
    <p> Reference du courrier: <input type ="text" name= "reference"/> </p>  
    <p> Objet du courier: <input type ="text" name= "objet"/> </p>            
    <p> Date du courier: <input type ="text" name= "date"/> </p>            
     
    <input type ="submit" value ="Validez" />
    </p>    
    </p>
    </form>
    </body>
    </html>
    Ah oui j'ai oublié excusez moi le 2eme code a ete bafouillé j'arrive avec avoir ma recherche par multicritere mais le code ne me plait en effet en ne mettant qu'un seul critere dans le formulaire j'ai la liste des fichiers correspondant a la demande mais d'apres le code c'est impossible puisque dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if((preg_match('`'.$_POST['section'].'`', $divfichier[$posi1])) AND  
               (preg_match('`'.$_POST['type'].'`', $divfichier[$posi2])) AND  
        (preg_match('`'.$_POST['reference'].'`', $divfichier[$posi3])) AND  
        (preg_match('`'.$_POST['objet'].'`', $divfichier[$posi4])) AND  
        (preg_match('`'.$_POST['date'].'`', $divfichier[$posi5])))
    je n'ai que des AND...

    vous comprennez que ca ne devrais pas marcher

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut


    J'ai lu 2 fois ton post mais vraiment je n'ai RIEN compris.

    Peux-tu être plus claire ?

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 121
    Points : 59
    Points
    59
    Par défaut
    rire!!!


    ok sorry je repette

    1/ j'ai fait le 1er code qui via un formulaire me trouve des fichiers pdf qui sont presents sur ma machine

    2/le nom des dits fichiers est de cette forme pour tous:
    SECXX_TYP_REF_OBJET_DATE
    ces fichiers differents donc par les 5 criteres suivants:

    XX de SECXX
    TYP
    REF
    OBJET
    DATE

    exemples de nom de fichier pdf

    1/SEC32_COU_8000413_Demande de stage_220109
    2/SEC12_REP_10313_verification_300476

    nous voulons par exemple avoir acces au fichier suivant
    SEC32_COU_8000413_Demande de stage_220109

    dans mon formulaire j'aurais ces 5 criteres a remplir

    section: 32
    type: COU
    reference: 8000413
    objet: Demande de stage
    date: 220109

    mais je ne suis pas oblige de remplir tous ces criteres en effet en tappant 32 a la section et en validant j'aurais affiché tous les fichiers qui ont comme section 32, de la je n'aurais qu'a cliquer sur le dit fichier..., en tapant type tout simplement j'aurais tous les fichiers possedant comme type cou, en tapant section: 32 et type: COU j'aurais tous les fichiers ayant ces 2 crieteres
    voila

    mais le granc ic est que le 1er code que je vous ai presenté ne permetait qu'une recherche par un seul critere c 'est a dire soit section soit cou soit reference soit objet ou encore date

    j'ai pour regler le pb(2eme code)
    mis (au pif apres plusieurs essaie)des AND aux "preg_match" et ca fonctionne c'est a dire recherche multicritere mais (bien sur il ya un mais) logiquement ce code ne doit pas fonctionner car en mettant des AND j'oblige a ce que la recherche ce fasse avec les 5 criteres remplis (c'est ca n'est ce pas le AND?) alors que lorsque je lance mon code je peux faire la recherche avec 1,2,3,4 ou 5 criteres

    donc question: quest ce qui cloche SVP?

    j'espere que je suis plus claire merci pour ton aide

Discussions similaires

  1. Label dans formulaire remplie par du code en indiçant son nom
    Par olivierdz1 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/01/2008, 09h54
  2. Champ resultats dans un formulaire multicritere cafeine
    Par froutloops62 dans le forum IHM
    Réponses: 3
    Dernier message: 09/10/2007, 22h55
  3. Réponses: 10
    Dernier message: 30/03/2007, 17h30
  4. formulaire multicritere de Cafeine transposable en ASP ?
    Par Monbasinstinct dans le forum IHM
    Réponses: 2
    Dernier message: 20/03/2007, 10h35
  5. Formulaire multicritere à requête dynamique ?
    Par Monbasinstinct dans le forum ASP
    Réponses: 2
    Dernier message: 19/03/2007, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo