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] Problème avec array


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut [Tableaux] Problème avec array
    Hello !
    suis pas sur de poster au bon endroit, désolé...

    Je commence pas préciser que je manipule mal Array

    Le soucis qui m'ammène
    => j'ai fait un array simple avec des strings.
    J'en ai enregistré pas mal.
    Je viens de me rendre compte d'un problème de tri (je ne pensais pas en avoir besoin)
    Trier est facile (sort) mais je voudrais trier et afficher mes données en conservant leur ID dans la liste !
    ça c'est mon array tel que je l'ai enregistré.
    1 - Animaux
    2 - Immobilier
    3 - Informatique-multimédia
    4 - Mode-vêtements
    5 - Voyance-ésotérisme
    6 - Actualités
    7 - Santé
    8 - Maison
    9 - Commerce et économie
    10 - Loisirs
    11 - Blogs
    Si je trie, la clef change, c'est normal !
    Blog (11) va devenir 3 après le tri mais je voudrais conserver le couple (blogs,11) (Voyance,5) etc...
    Faut construire un nouvel array à 2 dimensions ?
    Je ne veux pas reconstruire mon premier array. J'aurais trop de trucs à recommencer.
    Faudrait donc que la conversion soit automatique !

    Sais pas si je suis clair

    Merci
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    regarde du côté de asort(), je me demande par contre si ca fonctionne sur un tableau non associatif
    n'hesite pas a consulter la liste des fonctions manipulant les tableaux :
    http://fr2.php.net/manual/fr/ref.array.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut
    GEANT !
    Ils ont tout prévu, PHP, c'est redoutable !

    Je fais un essai.
    Si je me plante, je reviens !

    C'est ça !
    En fait c'est pour un annuaire
    Les sites sont enregistrés avec un numéro pour la catégorie.
    L'intitulé ne sert qu'à l'affichage
    Comment je fais pour récupérer l'ID d'un intitulé après asort ?
    Comment le lister donc ?
    Le tableau n'a qu'une dimension !

    en clair
    while ($i<$num-1)
    {
    $i++;
    echo $i.' - ';
    echo $rubriques[$i].'<br />';
    }
    asort($rubriques);
    print_r($rubriques);
    Là j'ai ma liste sans ordre
    comment obtenir le même affichage après asort ?

    Je suis vraiment nul !
    Merci
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne comprends pas ce que tu veux, l'id n'a pas changé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut
    Oui, c'est confus ! !

    Comment faire clair ?
    l'ID est donnée par $i à l'affichage (non ordonné).

    L'ID n'est pas enregistrée dans le tableau !
    je veux afficher la liste triée et retourner l'ID pour classer mes sites par ID.
    Comme dans print_r

    donc je veux
    1 animaux =>>retourne 1
    2 actualité =>> retourne 6

    Le dernier numéro est celui qui me permet de classer les sites
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut
    Désolé pour l'URL, c'est pour expliquer !
    c'est visible là http://annuaire.parismedia.info
    Le menu gauche n'est pas trié !
    Je veux trier et récupérer l'ID pour appeler la page
    sites.php?num=<?php echo $id ?>
    Je vais la chercher comment, l'ID ?

    c'est plus clair ?
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non je ne comprends pas.
    Fais ton asort() avant ton affichage
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut
    Je suis navré, tu es patient !

    on recommence
    mon array c'est ça
    $rubriques=array('','Animaux','Immobilier','Informatique-multimédia','Mode-vêtements','Voyance-ésotérisme','Actualités','.......
    Je l'affiche avec un while
    mon ID est donnée par $i incrémentée. OK ?

    Je fais asort($rubriques)
    j'ai mes rubriques dans l'ordre.
    Comment je fais pour savoir que "actualité" est en ID 6 alors qu'elle est en deuxième position à l'affichage ?
    J'ai besoin de l'ID réelle pour appeler mes pages

    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut
    Bon j'ai trouvé

    asort($rubriques);
    echo '<br />';

    foreach($rubriques as $id => $element)
    {
    echo $element .' => '.$id.'<br />';
    }

    // Et je retourne

    => 0
    Actualités => 6
    Animaux => 1
    Blogs => 11
    Commerce et économie => 9
    Immobilier => 2
    Informatique-multimédia => 3
    Loisirs => 10
    Maison => 8
    Mode-vêtements => 4
    Santé => 7
    Voyance-ésotérisme => 5
    J'ai bien ma liste alphabétique en récupérant $id
    (merci les cours et tutoriels PHP : http://php.developpez.com/cours/ )

    Merci beaucoup
    je peux refermer ce sujet
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut
    Je donne le code complet ça peut servir à d'autres
    foreach($rubriques as $id => $element)
    {
    echo $element .' => '.$id.'<br />';
    }

    asort($rubriques);
    echo '<br />';

    foreach($rubriques as $id => $element)
    {
    echo $element .' => '.$id.'<br />';
    }
    Ce qui me retourne
    => 0
    Animaux => 1
    Immobilier => 2
    Informatique-multimédia => 3
    Mode-vêtements => 4
    Voyance-ésotérisme => 5
    Actualités => 6
    Santé => 7
    Maison => 8
    Commerce et économie => 9
    Loisirs => 10
    Blogs => 11

    => 0
    Actualités => 6
    Animaux => 1
    Blogs => 11
    Commerce et économie => 9
    Immobilier => 2
    Informatique-multimédia => 3
    Loisirs => 10
    Maison => 8
    Mode-vêtements => 4
    Santé => 7
    Voyance-ésotérisme => 5
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

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

Discussions similaires

  1. [Tableaux] Problème avec un array
    Par baleiney dans le forum Langage
    Réponses: 5
    Dernier message: 08/07/2006, 17h54
  2. [Tableaux] Problème avec un array et les pseudo frame
    Par azerty53 dans le forum Langage
    Réponses: 6
    Dernier message: 10/05/2006, 14h57
  3. [Tableaux] Problème avec les boucles
    Par speed_man002 dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 15h42
  4. [Tableaux] problème avec while
    Par zimotep dans le forum Langage
    Réponses: 3
    Dernier message: 11/09/2005, 10h30
  5. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 16h37

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