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 :

Dictionnaire php via fichiers


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Dictionnaire php via fichiers
    Bonjour a tous!
    je souhaite faire un dictionnaire de mots, auquels on peut ajouter des synonymes.
    Ces mots et synonymes sont enregistrés dans un fichier txt.
    Par la suite, on pourra continuer d'ajouter des mots et des synonymes, rechercher un mot via la liste alphabétique et supprimer si l'on souhaite des mots ou synonymes.
    J'ai travaillé sur le code ci-dessous, mais le fait est qu'une partie de mon code s'affiche, je ne comprends pas.

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
          <head>
          <title>Dictionnaire de Cuisine et synonymes</title>
          <link rel="stylesheet" type="text/css" media="all" href="style.css" />
    </head>
          <body>
     
          <h1>Dictionnaire de Cuisine et synonymes</h1>
          <?
          set_magic_quotes_runtime(0);
     
          $fichier = 'dico_cuisine.txt';
     
          switch ($_POST['action'])
    {
          case "ecrire":
     
          function formate_machaine($chaine)
            {
     
          $chaine = str_replace('\n', '', $chaine);
          $chaine = str_replace('|', '', $chaine);
          $chaine = strip_tags($chaine);
          $chaine = trim($chaine);
          $chaine = substr($chaine, 0, 100);
     
          return $chaine;
            }
          $mot = formate_machaine($_POST['mot']);
          $synonyme = formate_machaine($_POST['synonyme']);
          if($mot != '' and $synonyme != '')
          {
          if(filesize($fichier)>3000) $mode = 'w'; else $mode = 'a';
     
          $fp = fopen($fichier, $mode);
          fputs($fp, "$mot|$synonyme");
          fputs($fp, "\n");
          fclose($fp);
     
          echo '<p>Mot et synonyme ajoutés !</p>';
          echo '<p><a href="'.$_SERVER['PHP_SELF'].'">Retour</a></p>';
          }
          else
          {
          echo '<p>Erreur, veuillez remplir les deux champs !</p>';
          echo '<p><a href="'.$_SERVER['PHP_SELF'].'">Retour</a></p>';
          } break;
     
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="ecriture">
     
          <input type="hidden" name="action" value="ecrire" />
     
          <table summary="Ecriture dans le fichier" border="1">
     
          <tr class="titre">
     
          <td colspan="2">Ecriture dans le fichier</td>
     
          </tr>
          <tr>
          <td>Mot</td>
          <td>
          <input type="text" name="mot" size="30" maxlength="30" />
          </td> </tr>
          <tr> <td>Synonyme</td>
          <td>
          <input type="text" name="synonyme" size="30" maxlength="100" />
          </td> </tr>
          <tr> <td>&nbsp;</td>
          <td>
          <input type="submit" name="envoyer" value="Et Hop!" />
          </td></tr></table>
          </form>
          <table summary="Lecture du fichier">
     
          <tr class="titre">
     
          <td colspan="2">Lecture du fichier</td>
     
          </tr>
    <?
          if(file_exists($fichier))
          {
          $fp = fopen($fichier, 'r');
          while (!feof($fp))
          {
          $ligne = fgets($fp, 4096);
          $liste = explode('|', $ligne);
          $mot = htmlentities($liste[0]);
          $synonyme = htmlentities($liste[1]);
          if(get_magic_quotes_gpc())
          {
          $mot = stripslashes($mot);
          $synonyme = stripslashes($synonyme);
          }
          if($mot != '' and $synonyme != '')
          {
          echo '<tr>';
          echo '<td>' . $mot . '</td>';
          echo '<td>' . $synonyme . '</td>';
          echo '</tr>';
          }
          }
          fclose($fp);
          }
          else
          {
          echo '<p>Fichier introuvable ! Lecture stoppée.</p>';
          }
    ?>
          </table>
    <?
          break;
    }
    ?>
          </body>
          </html>
    Si vous avez une idée pour resoudre mon probleme
    Un grand merci a toutes les bonnes volontés

  2. #2
    jnore
    Invité(e)
    Par défaut
    Salut et bienvenue,

    Comme par remplacer les balise <? par <?php.
    Si t'as encore un problème fais le nous savoir.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    warfffff niquel thanksss

    tu sais comment je pourrais faire une recherche par lettre alphabétique dans le fichier txt et l'afficher sur la page php stp?

  4. #4
    jnore
    Invité(e)
    Par défaut
    Ce que tu veux faire me parait conséquent.
    Je pense qu'il aurait mieux vallu stoquer ton dico dans une BDD.
    La recherche y serait plus simple et surtout plus rapide.

    As-tu réfléchi à la question?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    ^^ oui j'y ai pensé et meme trop largement pensé.
    Mais il s'avere que c'est un exercice à faire obligatoirement avec le systeme de fichier -_-'

    A vrai dire mon exo :
    Ecrire un programme en c puis en php qui realise un dictionnaire de cuisine dans lequel on peut ajouter un mot, celui-ci peut avoir jusqu’à 5 synonymes.
    - ajouter un mot
    - ajouter un synonyme
    - rechercher un mot par la premiere lettre des mots
    - supprimer un mot

  6. #6
    jnore
    Invité(e)
    Par défaut
    Citation Envoyé par gzg19 Voir le message
    ^^ oui j'y ai pensé et meme trop largement pensé.
    Mais il s'avere que c'est un exercice à faire obligatoirement avec le systeme de fichier -_-'

    A vrai dire mon exo :
    Ecrire un programme en c puis en php qui realise un dictionnaire de cuisine dans lequel on peut ajouter un mot, celui-ci peut avoir jusqu’à 5 synonymes.
    - ajouter un mot
    - ajouter un synonyme
    - rechercher un mot par la premiere lettre des mots
    - supprimer un mot
    Ok,
    As-tu réfléchi à la structure du fichier pour ce qui est de l'organisation des données?
    Pour n'utiliser qu'1 fichier, il faudrait utiliser un caractère de séparation des données --> le ; sera privilégié.
    Je décomposerais une ligne de données de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mot1;synonyme1;synonyme2;synonyme3;synonyme4;synonyme5
    ......
    La première étape serait de créer un formulaire de saisie puis d'insérer un mot dans le fichier

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    effectivement! cependant j'ai utilisé | au lieu du ; .
    Sinon mon ajout de mot fonctionne tres bien.
    Par contre la lecture du fichier par la premiere lettre du mot, et la suppression je ne les ai pas.

  8. #8
    jnore
    Invité(e)
    Par défaut
    Citation Envoyé par gzg19 Voir le message
    effectivement! cependant j'ai utilisé | au lieu du ; .
    Sinon mon ajout de mot fonctionne tres bien.
    Par contre la lecture du fichier par la premiere lettre du mot, et la suppression je ne les ai pas.
    Ce qu'il te faut faire c'est:
    1) Ouvrir ton fichier
    2) Le parcourir ligne par ligne et eclater chaque ligne avec le séparateur |, ce qui va créer un tableau.
    3) A chaque ligne dans ce tableau tu vas récupérer la première valeur : $tableau[0], cette valeur tu vas tester si le 1er caractère est conforme à la lettre de l'alphabet qui te servira de filtre --> Si oui alors tu insères le $tableau[0] dans un autre tableau : $tableau2 par ex.
    4) a la fin du fichier, tu vas te retrouver avec un $tableau2 qui contiendra tous les mots commençant avec ta lettre en question.

Discussions similaires

  1. [Twig] Comment appelle t'on un fichier php via twig?
    Par keokaz dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 12/08/2012, 10h38
  2. Réponses: 2
    Dernier message: 17/08/2009, 17h55
  3. planification en php via fichier excel
    Par Jean-christophe 45 dans le forum Windows
    Réponses: 1
    Dernier message: 10/09/2007, 23h23
  4. Réponses: 8
    Dernier message: 08/06/2007, 21h39
  5. Réponses: 5
    Dernier message: 19/09/2006, 21h51

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