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 :

Une petite question sur des tableaux


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Points : 117
    Points
    117
    Par défaut Une petite question sur des tableaux
    Je veux remplir un tableau dans une boucle mais je ne récupère que le dernier enregistrement ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    				while ($row=mysql_fetch_array($res)) {
     
    						$tabXml['titre'] =  $row['titre'] ;
    						$tabXml['Acc'] =  $row['Acc'] ;
    						$tabXml['date'] =  $row['date'] ;
    				}
    Merci par avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 472
    Points : 4 673
    Points
    4 673
    Par défaut
    normal, tu ecrases ta valeure.

    ajoute une dimention a ton tabeau
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $i=0;
    while ($row=mysql_fetch_array($res)) {
    	$tabXml[$i]['titre'] =  $row['titre'] ;
    	$tabXml[$i]['Acc'] =  $row['Acc'] ;
    	$tabXml[$i]['date'] =  $row['date'] ;
    	$i++;
    }

  3. #3
    Membre régulier Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Points : 117
    Points
    117
    Par défaut
    J'avais un trou de mémoire...
    Merci mon ami.

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La même chose, simplifié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($row=mysql_fetch_assoc($res)) {
    	$tabXml[] = array_intersect_key($row, array_flip(array('titre', 'Acc', 'date')));
    }

  5. #5
    Membre régulier Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    La même chose, simplifié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($row=mysql_fetch_assoc($res)) {
    	$tabXml[] = array_intersect_key($row, array_flip(array('titre', 'Acc', 'date')));
    }
    c'est pas mal non plus et il me vient une autre question pour le trier sur le champs date, il faut un array_multisort($tabXml,SORT_DESC 'date') ??? non la syntaxe n'est pas bonne

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pour le trier sur le champs date
    Il serait préférable de le faire en SQL sur la requête :
    ... ORDER BY date DESC

  7. #7
    Membre régulier Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Points : 117
    Points
    117
    Par défaut
    Mon tableau étant la fusion de 2 requêtes successive de table différente déjà trier par date mais la 2ème, c'est a dire que j'ai regroupé tous les éléments dans ce tableau donc maintenant je souhaite trier l'ensemble du contenu sur la date.

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Utilise usort avec une fonction de rappel.

  9. #9
    Membre régulier Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Points : 117
    Points
    117
    Par défaut
    Ne serait il pas plus facile de faire de tableau et de faire une fusion sur la date ? avec un array_merge mais je ne trouves pas de param permettant de donner un priorité sur un champ

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    array_merge ne sert pas à ça. C'est vrai que ce serait plus aisé pour toi de tout grouper sous des dates.

    ça se fait très simplement d'ailleurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while ($row=mysql_fetch_assoc($res)) {
      $date = date('Y-m-d', strtotime($row['date']));
      if (!isset($tabXml[$date]))
        $tabXml[$date] = array();
     
      $tabXml[$date][] = array_intersect_key($row, array_flip(array('titre', 'Acc', 'date')));
    }
    ksort($tabXML);
    Attention: il y a une dimension en plus désormais.

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

Discussions similaires

  1. une petite question sur la texture des images
    Par katicr2 dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 03/02/2010, 15h24
  2. une petite question sur des arguments du unix shell
    Par kinkichin dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/09/2009, 12h25
  3. Réponses: 6
    Dernier message: 07/05/2006, 21h42
  4. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 14h22
  5. Réponses: 24
    Dernier message: 29/08/2005, 13h33

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