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 :

$find et scan de plusieurs colonnes d"un tableau


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut $find et scan de plusieurs colonnes d"un tableau
    bonjour à tous,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?
    $find="ludo";
    include ("include/lecture_csv4.php");
    echo'<a href="all_jeux.php">Tous Les Jeux<b>('.$row.')</b></a></li>';?>
    je voudrai que $find ne me trouve pas seulement "ludo" dans mon fichier csv, mais aussi "sortie" et "achat". est-ce possible?

    ces 3 critères se trouvent tous alternativement dans la colonne 3 de mon fichier nommé fichier.csv

    Merci d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Oui, facile, il suffit de faire.......

    (attend je lis le fichier lecture_csv4.php )

    Ha ben c'est évident.....


    Pas de quoi

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour compléter la réponse (au demeurant assez juste) de MaitrePylos : comment veux-tu qu'on le sache sans savoir ce que fait ton script lecture_csv4.php et comment il le fait ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre confirmé
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    Si je peux me permettre une remarque pas forcément très utile: ton $find devrait être plutôt un find() si tu veux qu'il find quoique que ce soit... et il doit te faire quoi, ton find() ?
    trouver des enregistrements de nom de champ "ludo" ? ou n'importe quel champ qui a pour valeur "ludo" ? Et les stocker dans quoi ? un tableau ? un objet ?
    My daughter, my laptop, my bike and my double-sticks...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui c'est vrai j'ai oublié désolé. Voici le fichier lecturecsv4.php (qui exclut certaines consoles pour le décompte) :
    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
     
    <?
    $fichier="fichier.csv";
    $row=0;
     
    if (($handle = fopen($fichier, "rb")) !== FALSE) {
    	while (($data = fgetcsv($handle, 1024, ";")) !== FALSE) {									
    		if ((strpos($data[6],$find) !== FALSE)
    		&&($data[1]!="Ipad")
    		&&($data[1]!="PS3")
    		&&($data[1]!="PSP")
    		&&($data[1]!="PS2")
    		&&($data[1]!="PS1")
    		&&($data[1]!="Xbox 360")
    		&&($data[1]!="Megadrive")
    		&&($data[1]!="Master System")
     
    		){										
    			$row++;	
    		}								
    	}	
    	fclose($handle);								
    }?>
    ---------------------------------------------
    mon tableau csv se présente ainsi (le titre des colonnes puis 3 exemples en dessous) :

    Titre;Plateforme;Genre;Editeur;Developpeur;Date;Parution;Image;Descriptif;video
    "Mario";"Wii U";"Plate - Forme";"Nintendo";"Nintendo";"21 Décembre 2014";"ludo";"images/jaquettes/mario.jpg";"a venir...";"lien youtube"
    "zelda";"Wii U";"Plate - Forme";"Nintendo";"Nintendo";"22 Décembre 2014";"achat";"images/jaquettes/zelda.jpg";"a venir...";"lien youtube"
    "Metroid";"Wii U";"Plate - Forme";"Nintendo";"Nintendo";"23 Décembre 2014";"sortie";"images/jaquettes/metroid.jpg";"a venir...";"lien youtube"
    je voudrais que mon find trouve les lignes qui comprennent "ludo" (comme c'est le cas actuellement) mais aussi "achat" et "sortie"

    Merci

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci, j'ai remplacé par ton code, mais ca ne fonctionne pas,

    Parse error: syntax error, unexpected T_BOOLEAN_AND in ......./include/lecture_csv4.php on line 9

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Désolé, j'ai mal répondu au départ sans avoir relus la question.

    En fait il faut passer un tableau et vérifier que $data[6] est compris dedans donc

    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
     
     
    $find = ['ludo','achat','sortie'];
     
     
     
    $fichier = "fichier.csv";
    $row = 0;
     
    if (($handle = fopen($fichier, "rb")) !== FALSE) {
        while (($data = fgetcsv($handle, 1024, ";")) !== FALSE) {
            if (in_array($data[6],$find)
                && ($data[1] != "Ipad")
                && ($data[1] != "PS3")
                && ($data[1] != "PSP")
                && ($data[1] != "PS2")
                && ($data[1] != "PS1")
                && ($data[1] != "Xbox 360")
                && ($data[1] != "Megadrive")
                && ($data[1] != "Master System")
     
            ) {
                $row++;
            }
        }
        fclose($handle);
    }
     
     
    echo '<a href="all_jeux.php">Tous Les Jeux<b>(' . $row . ')</b></a></li>';

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    On pourrais d'ailleurs simplifier ton code.

    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
     
    $fichier = "test.csv";
    $plateforme = ["Ipad", "PS3", "PSP", "PS2", "PS1", "Xbox 360", "Megadrive", "Master System"];
    $row = 0;
     
    if (($handle = fopen($fichier, "rb")) !== FALSE) {
        while (($data = fgetcsv($handle, 1024, ";")) !== FALSE) {
            if (in_array($data[6],$find) && !in_array($data[1],$plateforme))
            {
                $row++;
            }
        }
        fclose($handle);
    }
    echo '<a href="all_jeux.php">Tous Les Jeux<b>(' . $row . ')</b></a></li>';

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ça fonctionne merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Grouper les dates de plusieurs colonnes dans un tableau croisé dynamique
    Par Raphifouille dans le forum Excel
    Réponses: 8
    Dernier message: 14/05/2014, 09h14
  2. [XL-2013] Sélectionner plusieurs colonnes d'un tableau
    Par stargui30 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2014, 14h08
  3. Définir une taille englobant plusieurs colonnes d'un tableau
    Par qwertz26 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 13/05/2012, 19h46
  4. [XL-2007] VBA - Insertion de plusieurs colonnes dans un tableau
    Par gwen.s dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/07/2010, 16h23
  5. Réponses: 2
    Dernier message: 06/09/2007, 15h08

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