[php array] 2 dimensions / 3 colonnes
Grafiteur
-
Grafiteur -
Grafiteur -
Bonjour,
J'ai une question conceptuel
J'ai 3 requétes qui select :
# 2 derniers ajout dans sa biblioteque de jeu personnelle
# 2 derniers inscrits
# 2 derniers prets
Ainsi je récupére 6 fiches ordonnées PAR DATE une à une à raison de 2x3 fiches en ordre décroissant
Or, j'ai besoin de faire un traitement php pour ordonnerses 6 fiches en ordre croissant pour les afficher dans mon site dans un encadré dédié au dernières actions
Comme vous vous en douter, je veux trier ses 6 fiches par ordre décroissant pour ça j'ai cherché un peu, j'ai trouver :
qui sera le coeur de mon algo de trie
sauf, que je vois pas du tout comment réunir toutes mes données dans un tableau à 2 dimensions pour pouvoir le parcourir lors du trie.
Je vois bien un truc sale du style :
mais je ne pense pas que ça fonctionne....
La réponse peut paraitre évidente mais ayant découvert les tableaux avec java ça m'aide pas car je trouve l'accessibilité des tableaux/matrice dans les autres langage beaucoup plus abstrait
J'ai une question conceptuel
J'ai 3 requétes qui select :
# 2 derniers ajout dans sa biblioteque de jeu personnelle
SELECT A_POUR_JEU.dateAjout, JEU.idJeu, ABONNE.pseudo
# 2 derniers inscrits
SELECT ABONNE.dateInscription, ABONNE.idAbonne, ABONNE.age
# 2 derniers prets
SELECT PRET.datePret, PRET.idAbonne_DE, PRET.idAbonne_A
Ainsi je récupére 6 fiches ordonnées PAR DATE une à une à raison de 2x3 fiches en ordre décroissant
Or, j'ai besoin de faire un traitement php pour ordonnerses 6 fiches en ordre croissant pour les afficher dans mon site dans un encadré dédié au dernières actions
Comme vous vous en douter, je veux trier ses 6 fiches par ordre décroissant pour ça j'ai cherché un peu, j'ai trouver :
strtotime($date1) >= strtotime($date2)
qui sera le coeur de mon algo de trie
sauf, que je vois pas du tout comment réunir toutes mes données dans un tableau à 2 dimensions pour pouvoir le parcourir lors du trie.
Je vois bien un truc sale du style :
$req = array(); $req[0] = 'SELECT ...'; $req[1] = 'SELECT ...'; $req[2] = 'SELECT ...'; $tab = array(); i=0; while i<3 { $reponse = $bdd->query($req[i]); j=0; foreach($reponse as $ligne) { $tab[j] = array($ligne[0], $ligne[1], $ligne[2]); j+=1; }
mais je ne pense pas que ça fonctionne....
La réponse peut paraitre évidente mais ayant découvert les tableaux avec java ça m'aide pas car je trouve l'accessibilité des tableaux/matrice dans les autres langage beaucoup plus abstrait
A voir également:
- [php array] 2 dimensions / 3 colonnes
- Faire 2 colonnes sur word - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Ai suite 3 - Télécharger - Optimisation
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Picasa 3 - Télécharger - Albums photo
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Moi je laisserais SQL faire le boulot, et j'essayerais plutôt :
Par contre, si tu veux faire comme tu le proposes, tu dois mettre j à zéro une seule fois, avant de boucler sur i.
SELECT A_POUR_JEU.dateAjout, JEU.idJeu, ABONNE.pseudo union all SELECT ABONNE.dateInscription, ABONNE.idAbonne, ABONNE.age union all SELECT PRET.datePret, PRET.idAbonne_DE, PRET.idAbonne_A order by dateAjout desc
Par contre, si tu veux faire comme tu le proposes, tu dois mettre j à zéro une seule fois, avant de boucler sur i.
me permet de clore le chapitre du coup ? j'ai pas encore les tables je pourrais pas test ce soir
Si tu veux différencier les résultats de chacun des SELECT, tu peux ajouter une quatrième colonne (dans les SELECT, pas dans les tables), par exemple "pour jeu" dans le premier SELECT, "abonné" dans le second.
Je suppose que tu sais que tes SELECT ne sont pas tout-à-fait corrects (je pensais que c'était conceptuel), il manque le FROM et le WHERE (quand tu fais un SELECT sur plusieurs tables, comme le premier SELECT).