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 :

[Tableaux] Tester la présence d'une valeur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut [Tableaux] Tester la présence d'une valeur
    salut tout le monde,
    je voudrais savoir comment on peut tester si une valeur existe dans une table mysql et n'existe pas dans un fichier
    je m'explique autrement:
    j'ai créé un robot qui extrait les valeur d'un fichier CSV et les insère dans une table, ce fichier se met à jour quotidiennement. A chaque fois qu'une valeur manque du fichier je dois mettre le champs "actif" dans la base à 0, sachant que ce champs est égale à 1 par défaut

  2. #2
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    ...Et bien il faudrait que tu fasses une recherche dans la base de la valeur CSV....

    Ca va sûrement faire beaucoup d'accès, mais un simple SELECT avec un WHERE devrait suffir, si les termes de ton fichier CSV sont bien formaté

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $mot="viviboss";
     
    $query="SELECT nom FROM table WHERE nom='".$mot."'";
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut
    Citation Envoyé par viviboss
    ...Et bien il faudrait que tu fasses une recherche dans la base de la valeur CSV....

    Ca va sûrement faire beaucoup d'accès, mais un simple SELECT avec un WHERE devrait suffir, si les termes de ton fichier CSV sont bien formaté

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $mot="viviboss";
     
    $query="SELECT nom FROM table WHERE nom='".$mot."'";


    Si le monde était si simple que ça, en fait moi je ne connais pas les valeurs dans le fichier, c'est un code qui va s'exécuter automatiquement, et à chaque fois qu'il trouve une valeur dans la table (dans le champs "id" précisément, qui est le méme champs dans le fichier) et qu'il ne la trouve pas dans le fichier, dans ce cas, il y a un champs actif dans la table qu'il va mettre à zéro.
    bon moi ce que j'ai fait c'est une fonction qui lit tte les valeurs du fichier et les insére dans un tableau, ensuite j'ai fait une requéte select sur le champs "id" de la table, reste à savoir comment je vais tester si cette valeur n'existe pas dans le fichier (le sens contraire etait plus simple).

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je suppose que ton fichier se met à jour en ajoutant des mots à la fin du fichier et pas a une place aléatoire dans ton fichier.
    Si c'est le cas, tu n'as pas besoin de tester toutes les valeurs, tu regardes la dernière valeur du fichier csv, tu vérifies si elle est ou non dans la base de données. Si oui, la base est a jour par rapport au fichier, si non la base n'est pas a jour.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut
    Citation Envoyé par koopajah
    Je suppose que ton fichier se met à jour en ajoutant des mots à la fin du fichier et pas a une place aléatoire dans ton fichier.
    Si c'est le cas, tu n'as pas besoin de tester toutes les valeurs, tu regardes la dernière valeur du fichier csv, tu vérifies si elle est ou non dans la base de données. Si oui, la base est a jour par rapport au fichier, si non la base n'est pas a jour.


    Bon surement le fichier se met à jour, mais il y a qqe valeurs dans le fichier qui se suppriment, et donc puisqu'elles existent déja dans la base, mon but c pas de les effacer de la table mais plutot de mettre le champs actif qui leurs correspond, à zéro. Voila pourquoi je veux tester si une valeur existe dans la table et n'existe pas dans le fichier.
    sinon pour le cas d'une nouvelle valeur, c pas un probléme parceque il suffit de mettre insert

  6. #6
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    Si tu parse ton fichier CSV avec une expression régulière, afin de tirer les schémas de données que tu cherches, afin de les comparer à ta base...

    En effet, tu dis que tu ne connais pas ces données, mais tu dois bien savoir quelle forme elles ont, sinon tu ne pourrais pas les traiter.

    Je te conseille de regarder par là : preg_match, etc.

    en PHP tu peux facilement traiter un fichier CSV (virgules...) donc extraire une à une les données du fichier. Si tu passes ensuite des données par une expression régulière, forcément tu pourras ensuite les comparer à ta base (Dans un preg_match, les données sont retournés dans un tableau)
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/10/2012, 15h31
  2. [XL-2003] Tester présence d'une valeur sur une plage donnée
    Par Monsieur Peck dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/04/2010, 18h51
  3. Comment tester la présence d'une valeur dans une liste?
    Par jeo13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/06/2008, 16h09
  4. [XSLT] Tester la non présence d'une valeur dans un fichier
    Par arnauann dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/01/2007, 15h29
  5. tester le type d'une valeur saisie
    Par lalaurie40 dans le forum C
    Réponses: 1
    Dernier message: 09/10/2005, 21h52

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