Ceci est mon tableau:
<table class="table"> <h4 class="text-muted"> Top3 drivers done most kilometers </h4> <hr> <tbody> <tr> <th class="thead-dark">Driver</th> for ($i=0; $i < count($driver_kms) ; $i++) { if ($driver_kms[$i]->name !='') { <td><?=$driver_kms[$i]->name?></td> } } </tr> <tr> <th>Kms</th> for ($i=0; $i < count($driver_kms) ; $i++) { if ($driver_kms[$i]->name !='') { <td><?=$driver_kms[$i]->total_kms?></td> } } </tr> </tbody>
3 Réponses :
Il suffit d'utiliser http://php.net/manual/fr/function.uasort .php Utilisez le rappel pour comparer vos éléments de tableau. P>
Obtenez le résultat attendu dans une seule requête comme: ou str> p> Commandez votre tableau avec Arsort ($ pilote_kms ) code> puis limitez votre boucle à 3 éléments
pour ($ i = 0; $ i <3; $ i ++) {... p> p> p> p> p> P>
remplacer avec p>
Qu'est-ce que tu as essayé jusque-là?
@Anuragsrivastava Affiche uniquement ce tableau dans la table comme l'image
Veuillez poster votre code tenter de réaliser votre objectif. Sinon, il semble que vous vous demandiez de faire du code pour vous
@Alivetodie j'ai posté mon code
$ pilote_kms est mon nom de matrimence
est $ Driver_kms le résultat d'une requête MySQL?
Lors de la récupération de la base de données, pourquoi n'utilisez pas
ordre par total_kms desc code> et
limite 3 code>
Ce code de requête
$ users = user :: Sélectionnez ('Nom comme Driver_Name', 'ID comme user_id') -> Obtenez (); foreach ($ utilisateurs comme valeur $) {$ pilote_kms [$ valeur-> user_id] = dB :: Sélectionnez ("Sélectionner les utilisateurs.name, Somme (réservations.mètres) Comme total_kms à partir de réservations de réservation Les utilisateurs de Rejoignez ON (réservations.Driver_id = utilisateurs.id) où zone_id = $ url_or_id et pilote_id = $ value-> user_id et réservations.mmètres! = '' ordre by sum (réservations.mmètres) limite de 3 "); } $ pilote_kms = call_user_func_array ('aray_merge', $ pilote_kms); code>