La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  $array[ligne][colone] : choisir "colone" avant "ligne"
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: $array[ligne][colone] : choisir "colone" avant "ligne"  (Lu 734 fois)
$array[ligne][colone] : choisir "colone" avant "ligne"
« sur: le 11-01-2004 a 11:51:32 »
alexite
Membre récent
*

Hors-Ligne

Messages: 2



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour,

j'ai poster ce porblème sur un autre forum et personne n'a trouvé de solution...

Mon problème, j'ai un tableau de 10 colones et 100 lignes tels que :
$tab['ligne']['colone']. Sur chaque lignes j'ai une enregistrmenet de ma bd : $tab['10']['nom'] = François par exemple.

Or je veux classer mon tableau par Nom puis Prenom, je devrais utiliser la fontion multishort un peu comme ceci :

array_multisort($tabl['0']['nom'],$tab['0']['prenom]);

Sauf que le ['0'] est en trop, et je ne vois pas comment pouvoir spécifier la colone 'nom' sans dabord choisir la lignes :-(.

Merci d'avance.

« Dernière Édition: le 11-01-2004 a 11:52:15 par alexite » Rapporter au modérateur  

Re:$array[ligne][colone] : choisir "colone" avant "ligne"
« Répondre #1 sur: le 11-01-2004 a 12:39:43 »
erwinol
Iznogoud Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1845



Que la FARCE soit avec toi

Voir le Profil    WWW
Répondre avec citation

Ben déjà il y a un problème parce que

$tab[100][10]

C'est un tableau de 100 tableaux de 10 ... eh oui en mémoire c'est pas une matrice

Tu pourrais construire toi-même un algorithme de tri en te basant sur ceux qui existent déjà.

Sinon essaye toujours en utilisant $tab[]['nom'] et $tab[]['prenom'].

Rapporter au modérateur  

MySeoBox soumet vos sites sur des milliers d'annuaire
Vous possédez un annuaire ? Gagnez de l'argent avec celui-ci grâce à l'affiliation MySeoBox !
Re:$array[ligne][colone] : choisir "colone" avant "ligne"
« Répondre #2 sur: le 11-01-2004 a 13:07:10 »
alexite
Membre récent
*

Hors-Ligne

Messages: 2



Je suis un lama!

Voir le Profil
Répondre avec citation

vi pour la matirce, je sais qu'en mémoire c'est pas comme dans une base sql, mais pour l'expliquer c'étais plus simple :-).

Sinon bien j'ai fais comme tu le disais, j'ai utilisé l'algorithme de tri bulle, et voila ce que j'ai fais, qui permet de trier a partir de 2 champs de la deuxième dimension, dnas l'ordre choisis :

         function array_multisort_d2($tableau,$triChamp1,$triOrdre1,$triChamp2,$triOrdre2){

            function inverser($tableau, $pos1, $pos2) {
               $temp = $tableau[$pos1];
               $tableau[$pos1] = $tableau[$pos2];
               $tableau[$pos2] = $temp;
               return $tableau;
            }
      
            $nbEnregistrement = count($tableau);

            for ($bubble = $nbEnregistrement; $bubble > 1; $bubble--){
               for ($position = 1; $position < $bubble; $position++){
                  if ( ( $tableau[$position][$triChamp1]>$tableau[$position+1][$triChamp1] ) && $triOrdre1=='SORT_ASC'){
                     $tableau = inverser($tableau,$position,$position+1);
                  }
                  elseif ( ( $tableau[$position][$triChamp1]<$tableau[$position+1][$triChamp1] ) && $triOrdre1=='SORT_DESC'){
                     $tableau = inverser($tableau,$position,$position+1);
                  }
                  elseif ( $tableau[$position][$triChamp1] == $tableau[$position+1][$triChamp1] ){

                     if( ( $tableau[$position][$triChamp2]>$tableau[$position+1][$triChamp2] ) && $triOrdre2=='SORT_ASC'){
                        $tableau = inverser($tableau,$position,$position+1);
                     }
                     elseif ( ( $tableau[$position][$triChamp2]<$tableau[$position+1][$triChamp2] ) && $triOrdre2=='SORT_DESC'){
                        $tableau = inverser($tableau,$position,$position+1);
                     }
                  }
               }
            }

            return $tableau;
         }

Rapporter au modérateur  
Re:$array[ligne][colone] : choisir "colone" avant "ligne"
« Répondre #3 sur: le 11-01-2004 a 23:43:39 »
erwinol
Iznogoud Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1845



Que la FARCE soit avec toi

Voir le Profil    WWW
Répondre avec citation

Le tri bulle n'est pas très performant quand tu travailles avec un nombre élevé d'enregistrements mais ça fait plaisir de voir quelqu'un sur FW qui connait les algorithmes

Il fonctionne que tu le souhaites ton algorithme ?

Rapporter au modérateur  

MySeoBox soumet vos sites sur des milliers d'annuaire
Vous possédez un annuaire ? Gagnez de l'argent avec celui-ci grâce à l'affiliation MySeoBox !
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg