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] Tri des clés d'un tableau dans le meme ordre qu'une table


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut [Tableaux] Tri des clés d'un tableau dans le meme ordre qu'une table
    salut à tous,

    Je recherche le moyen de trier un tableau dans le meme ordre que les champs d'une table. Par exemple, j'ai un tableau ($arrayItems) avec les elements dans cet ordre (reçu en $_POST) : nom, titre, id, texte ($_POST['nom'], etc...).

    Ensuite, j'ai une table qui a ces champs mais dans un autre ordre : id, nom, titre, texte.

    Donc, je voudrai trier mon tableau $arrayItems (clés + valeurs evidemment) dans le meme ordre que la table. Est-ce possible ?

    Merci,
    Fabrice

  2. #2
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    tes éléments envoyés en POST, sont dans une page précédente ? si oui, mettre un order by !? Si non, je ne sais pas la configuration de PHP dans l'ordre des variables postées (peut etre order by id seulement..).

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut asort()

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    Bon, ma réponse va pas t'aider.
    Peux-tu préciser dans quel but tu veux trier le tableau ? Pour afficher dans le même ordre ? Pour faire une requête ?

  5. #5
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut
    J'ai en besoin pour faire une requete. J'ai une classe qui fait du SQL (select, update, insert into, etc).
    Pour faire ces requetes, j'ai besoin de la liste des champs de la table, avec un DESC TABLE et egalement les $_POST pour les valeurs des update et insert into.
    Logiquement, ces 2 tableaux doivent etre dans le meme ordre.

    Fabrice

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    Je verrais un truc comme ça : (pas testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /* le tableau monté grâce à tes valeurs SQL */
    $tabSQL=...
     
    /* l'algo de triage */
    foreach($tabSQL as $cléSQL => $valeurSQL){
    <div style="margin-left:40px">foreach($_POST as $cléPOST => $valeurPOST){</div><div style="margin-left:40px"><div style="margin-left:40px">if($cléPOST==$cléSQL){</div></div><div style="margin-left:40px"><div style="margin-left:40px"><div style="margin-left:40px">$tabPOSTtrié[$cléSQL]=$valeurPOST;</div></div></div><div style="margin-left:40px"><div style="margin-left:40px">}</div></div><div style="margin-left:40px">}</div>}
     
    /* j'espère que ça marche sinon j'ai l'air con */
    Mais bon a priori tu construire ta requête par concaténation sans que le tableau $_POST soit trié... Les champs dans UPDATE ou INSERT n'ont pas besoin d'être dans le même ordre que la table.

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

Discussions similaires

  1. [Tableaux] effacer des clés dans un tableau
    Par lili2704 dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2007, 16h37
  2. Réponses: 3
    Dernier message: 12/06/2006, 13h04
  3. Réponses: 4
    Dernier message: 17/04/2006, 21h10
  4. Réponses: 5
    Dernier message: 14/02/2006, 19h52
  5. [Tableaux] récuperer des valeurs d un tableau
    Par student007 dans le forum Langage
    Réponses: 7
    Dernier message: 11/02/2006, 23h27

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