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 :

probleme recherche dans un tableau


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut probleme recherche dans un tableau
    Bonjour ,
    Voila je compare deux champs de tableau pour trouver une même occurrence ,
    je fais un foreach pour comparer et si il trouve une même valeur dans les 2 tableaux j'affiche un message sinon j'affiche un autre message d'erreur sauf que ce message d'erreur se répète plusieurs fois et je voudrais l'afficher qu'une seul fois si il trouve pas d'occurence

    voila mon 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    foreach($row2 as $key => $value)
            {
                echo $value['event_title'].'<br/>';
                if(isset($_SESSION['account_id']))
                {
                    $query3 = Connexion::getConnexion()->prepare('SELECT COUNT(event_id) AS nbr,account_id,event_id ,account_event_place_reserved FROM account_event WHERE account_id =:id');
                    $query3->bindParam(':id',$_SESSION['account_id'],PDO::PARAM_INT);
                    $query3->execute();
                    $row3 = $query3->fetch(PDO::FETCH_ASSOC);
                    $query3->closeCursor();
                    if($row3['nbr'] > 0)
                    {
                        $query4 = Connexion::getConnexion()->prepare('SELECT account_id,event_id ,account_event_place_reserved FROM account_event WHERE account_id =:id GROUP BY event_id');
                        $query4->bindParam(':id',$_SESSION['account_id'],PDO::PARAM_INT);
                        $query4->execute();
                        $row4 = $query4->fetchAll(PDO::FETCH_ASSOC);
                        $query4->closeCursor();
                        foreach($row4 as $key => $value2)
                        {
     
                            echo $value2['event_id'].'========='.$value['event_id'];
                            if($value2['event_id'] == $value['event_id'])
                            {
                                echo " vous etes inscrit a cet evenement"."<br/><br/>";
     
                             }
                             else
                             {
                             ?>
                                <a href='#' class='event_register'>  s inscrire a l evenement</a><br/><br/>
                            }
    }
    et le résultat donné:
    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
     
    event 1
    12=========2 s inscrire a l evenement
     
    13=========2 s inscrire a l evenement
     
    18=========2 s inscrire a l evenement
     
    event 2
    12=========12 vous etes inscrit a cet evenement
     
    13=========12 s inscrire a l evenement
     
    18=========12 s inscrire a l evenement
     
    event 3
    12=========13 s inscrire a l evenement
     
    13=========13 vous etes inscrit a cet evenement
     
    18=========13 s inscrire a l evenement

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    un break ?

  3. #3
    Membre régulier Avatar de s.lennon
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 71
    Points
    71
    Par défaut
    Bonjour.

    Tu peux aussi utiliser un compteur, style "si erreur, compteur ++" puis à l'extérieur de ta boucle, "si compteur > 0 alors message d'erreur".

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut
    problème résolu , j'ai ajouter un flag initialisé a false au début de mon premier foreach et si il trouve une occurrence je le passe a true

    Merci beaucoup

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

Discussions similaires

  1. [VBA-E]Recherche dans un tableau
    Par Zebulon777 dans le forum Macros et VBA Excel
    Réponses: 49
    Dernier message: 05/07/2006, 10h35
  2. [Tableaux] probleme unserialize dans un tableau(list)
    Par urikawa dans le forum Langage
    Réponses: 2
    Dernier message: 19/06/2006, 11h29
  3. [VBA-E] recherche dans un tableau
    Par tibss dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 03/05/2006, 17h52
  4. Réponses: 16
    Dernier message: 02/12/2005, 10h39
  5. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21

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