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] array_search : résultat erroné


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 85
    Points : 44
    Points
    44
    Par défaut [Tableaux] array_search : résultat erroné
    Bonjour à tous,
    Je récuèpe une liste date via une requête mysql.
    Ensuite je souhaite enregistrer cette liste de date dans un tableau en évitant les doublons. Voici ce qu eje fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $req_actu="SELECT *
                    FROM news
                    WHERE news_type=2
    		ORDER BY news_date DESC";
    $res_actu=mysql_query($req_actu);
    $tabDate = array();
    while ($row=mysql_fetch_array($res_actu)){
    	$dateRef = strftime("%B",mktime(0,0,0,substr($row['news_date'],5,2),1, substr($row['news_date'],0,4))).' '.substr($row['news_date'],0,4);
    	if(!array_search($dateRef, $tabDate)){
    		array_push ($tabDate, $dateRef);
            }
    }
    les dates sont de la forme AAAA-MM-JJ
    et la liste que j'obtient est
    August 2007
    August 2007
    August 2007
    August 2007
    August 2007
    July 2007
    June 2007

    dans ma base j'ai bien 5 news en August 2007 mais j'ai aussi 4 news en July 2007 et 8 en June 2007. Pourquoi ça ne fonctionne pas pour la première entrée ?

    Merci à tous et bonne fin de journée


    Oui m'enfin avec in_array ça se passe tout de suite mieux !!!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    En plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      $req_actu = "SELECT DISTINCT DATE_FORMAT(news_date, '%M %Y') as date_news
                   FROM news
                   WHERE news_type = 2
                   ORDER BY news_date DESC";
      $res_actu = mysql_query($req_actu);
      $tabDate = array();
      while ($row = mysql_fetch_array($res_actu))
      {
          $tabDate[] = $row['date_news'];
      }											
    ?>

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

Discussions similaires

  1. [Tableaux] classer résultat d'un get
    Par gregius dans le forum Langage
    Réponses: 6
    Dernier message: 15/03/2007, 21h23
  2. [Tableaux] affichage résultat d'une fonction
    Par benooiit dans le forum Langage
    Réponses: 4
    Dernier message: 04/01/2007, 17h37
  3. [Tableaux] array_search et fichier texte
    Par izou9002 dans le forum Langage
    Réponses: 13
    Dernier message: 13/03/2006, 21h02
  4. Réponses: 5
    Dernier message: 19/11/2004, 19h16
  5. Résultats erroné différence entre deux types TDateTime
    Par Alghero dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/03/2004, 17h03

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