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 :

verification de données et recuperer les resultat du test et afficher


Sujet :

Langage PHP

  1. #21
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    j'ai testé le zip que vous avez attacher et ça marche , mais quand j'essaye avec mon fichier et mon code j'ai en resultat tout les champs (les valides et les non)
    j'ai remplacé les test que vous avez proposé par mes regex voila un exemple
    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
     
     
     
    ///////////////////////////
      if((!preg_match("#[A-Za-z0-9._\- ]+#", $line['C']))){
     
        $invalid_cells[] = array($key, 'C', $line['C']);
      }//////////////////////
      if(!preg_match("#^[A-Za-z0-9._\- é]+$#",$line['D'])){
      $invalid_cells[] = array($key, 'D', $line['D']);
      }
      /////////////////////4
      if(!preg_match("#^[A-Z0-9._\- ]+$#",$line['E'])){
      $invalid_cells[] = array($key, 'E', $line['E']);}
       ///////////////5
      if(!preg_match("#^[0-9]+$#",$line['F']))
      {
      $invalid_cells[] = array($key, 'F', $line['F']);}
      ///////////////////////
      if(!preg_match("#^[N]([0-9]){2}([-][0-9]{2}){2}\.([0-9]){2}$#", $line['G']))
      {
      $invalid_cells[] = array($key, 'G', $line['G']);}
      ////////////////////

    la colonne C contient comme données par exemple
    BSC-ALHOCEIMA-1
    la colonne D contient
    MGW1 Huawei Fès Adarissa
    laa colonne g par exemple contient
    N35-10-07.70
    et aussi contien une entrée non valide
    N35-11.48.89 ( un point à la place du tiret)
    y'a t'il un problème dans mes regex parceque je reçois toutes les données soit valide soit non

  2. #22
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Est-ce que les regex fonctionnent en testant directement les valeurs ?

    Si c'est le cas, donne-moi un exemple de valeur valide et de valeur invalide pour chaque regex.

  3. #23
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    quand je test les regex directement elles marchent bien,

    quand une ligne contient une erreur la ligne est retournée entierement ( j'aimerais que seule la case qui erronée soit retourneé)

    je vous donne des exemples de valeurs:
    valides :W003-54-10.00
    invalide :Q003-54-10.00 ou 003-54-10.00W ou W003.54.10.00

    valide:475545
    invalide: text

    j'ai 33 colonnes avec des test aussi sur l'intervalle< 360 par exemple
    ou compris entre 550 et 18000

  4. #24
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    La ligne entière retournée est un choix de ma part (pour faciliter sa reconnaissance par l'utilisateur lorsqu'il va corriger l'erreur). Le but est ensuite de ne rendre éditable que la colonne invalide.
    On peut changer ça si tu veux, ou si on peut juste afficher la case invalide.

    L'essentiel est pour l'instant que toutes les les regex identifient bien les cases invalides (en faisant un var_dump($invalid_cells), tu auras les lignes, colonnes et contenu des cases invalides.

  5. #25
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    La ligne entière retournée est un choix de ma part (pour faciliter sa reconnaissance par l'utilisateur lorsqu'il va corriger l'erreur).
    si une ligne contient plus qu'une erreur elle est retournée plus qu'une fois
    L'essentiel est pour l'instant que toutes les les regex identifient bien les cases invalides (en faisant un var_dump($invalid_cells), tu auras les lignes, colonnes et contenu des cases invalides.
    les regex marchent bien pour le moment et m'affichent les lignes qui contiennent des valeurs invalides , mais si une ligne contient 2 valeurs nonvalides elle est affiché deux fois
    quand je fais var_dump($invalid_cells); je ne reçois rien

  6. #26
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    j'ai une colonne 'SECTOR' qui contient tout le temps la valeur 'NULL' je ne sais pas comment la tester j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( isset($line['AF']) )/// AF contient la colonne SECTOR
    mais meme si je remplace le text 'NULL' dans le fichier excel cela ne retourne pas d'erreur avez vous une idée

    excusez moi de tout ce derangement

  7. #27
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par html.php Voir le message
    si une ligne contient plus qu'une erreur elle est retournée plus qu'une fois
    les regex marchent bien pour le moment et m'affichent les lignes qui contiennent des valeurs invalides , mais si une ligne contient 2 valeurs nonvalides elle est affiché deux fois
    Ça c'est un effet indésirable car pour chaque erreur, la ligne contenant l'erreur est affichée (donc, si une ligne a 2 erreurs, elle est affichée 2 fois). on corrigera ça.

    $invalid_cells contient forcément quelque chose, autrement aucune ligne ne serait affichée à la fin.

  8. #28
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par html.php Voir le message
    j'ai une colonne 'SECTOR' qui contient tout le temps la valeur 'NULL' je ne sais pas comment la tester j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( isset($line['AF']) )/// AF contient la colonne SECTOR
    mais meme si je remplace le text 'NULL' dans le fichier excel cela ne retourne pas d'erreur avez vous une idée

    excusez moi de tout ce derangement
    Bah oui, parce que 'NULL' est vu comme un string. il faut donc tester le string "NULL" et non pas le type NULL de php.

  9. #29
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    avec ça aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if( $line['AF']!="NULL" )
    je ne reçois pas d'erreur si je mets n'importe quoi dans la colonne

  10. #30
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    Ça c'est un effet indésirable car pour chaque erreur, la ligne contenant l'erreur est affichée (donc, si une ligne a 2 erreurs, elle est affichée 2 fois). on corrigera ça.
    .
    oui si on arrive a corrigé ça c'est parfait

  11. #31
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Peux-tu m'envoyer ta version de la page index.php, et un de tes fichiers csv ?

    et si possible, les critères de chaque test de validité/regexp.

  12. #32
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    oui bien sur , je vais vous les envoyer en messages privé

  13. #33
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    apparement il n ya pas d'option joindre dans un message privé
    je vais les joindre ici
    le dossier contient
    index.php
    et le fichier excel contenant deux feuille et la troisieme contient les condition sur les colonnes
    mon code.rar

  14. #34
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par html.php Voir le message
    avec ça aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if( $line['AF']!="NULL" )
    je ne reçois pas d'erreur si je mets n'importe quoi dans la colonne
    Oui, c'est normal, le script ne traite que la feuille courante (et puisque les 2 feuilles n'ont pas les mêmes colonnes, il va falloir tester chaque feuille séparément).

  15. #35
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    et puisque les 2 feuilles n'ont pas les mêmes colonnes, il va falloir tester chaque feuille séparément
    Comment peut on le faire? jusqu'à maintenant je ne test que sur les colonnes de la 1ere feuilles et aussi les resultats que je reçois concernent seulement la première . je me suis dis quand ça va reussir avec la première j'allais vous demander comment faire pour les deux en mem temps

  16. #36
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    PHPExcel permet de passer d'une feuille à l'autre.
    Il faudra juste séparer le traitement des deux feuilles car elles n'ont pas le même nombre de colonnes.

  17. #37
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    PHPExcel permet de passer d'une feuille à l'autre.
    Il faudra juste séparer le traitement des deux feuilles car elles n'ont pas le même nombre de colonnes.
    oui vous avez raison elles sont differentes.

    avez vous des remarques a propos de mon code

  18. #38
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Le code est trop spaghetti (pas assez structuré), mais c'est normal si les feuilles ne sont pas identiques.
    Question: est-ce que la structure des fichiers excel est figée, c'est-à-dire que tu ne peux pas les modifier ?
    Ex: est-ce que les feuilles auront toujours les mêmes noms (2G et 3G)?
    Est-ce que les noms des colonnes peut être changé?
    etc ...

  19. #39
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Autre erreur: tu as fermé la boucle foreach trop top, ce qui fait que certains test ne sont pas exécutés.

  20. #40
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    Le code est trop spaghetti (pas assez structuré), mais c'est normal si les feuilles ne sont pas identiques.
    Question: est-ce que la structure des fichiers excel est figée, c'est-à-dire que tu ne peux pas les modifier ?
    Ex: est-ce que les feuilles auront toujours les mêmes noms (2G et 3G)?
    Est-ce que les noms des colonnes peut être changé?
    etc ...
    oui la structure est figée, et les feuille auront toujours les memes nom 2G et 3G

Discussions similaires

  1. Recuperer les resultats d'une source de données
    Par xoorus dans le forum WinDev
    Réponses: 7
    Dernier message: 18/01/2012, 12h38
  2. DataSet , Recuperer les resultats d'une requete
    Par siro1 dans le forum Windows
    Réponses: 10
    Dernier message: 01/10/2009, 18h39
  3. Recuperer les resultats d'une recherche (urllib/urllib2)
    Par Mysti¢ dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 27/03/2008, 05h29
  4. [DOM] recuperer les resultat d'une requete
    Par naouah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/07/2007, 18h13
  5. recuperer les resultats
    Par PAYASS59 dans le forum Langage
    Réponses: 9
    Dernier message: 17/02/2006, 10h06

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