2010-04-19 8 views
0

Je retourne une requête SQL de la base de données en utilisant PEAR dans un tableau.Mise en boucle d'un tableau multidimensionnel à partir du second tableau en PHP, s'il existe

$db_results = $db->getAll("SELECT * FROM loans ORDER BY amount, length, true_interest_cost"); 

Si les résultats de retour de la requête, je voudrais montrer le premier résultat formaté d'une manière, puis le reste des résultats mis en forme une autre façon.

Donc, mon résultat final ressemblerait à quelque chose comme ceci:

Ceci est le prêt le plus petit avec la plus petite longueur et le plus petit coût réel d'intérêt

  • Nom du prêt: Superloans
  • Montant du prêt: 100 dollars
  • Durée: 14 jours
  • TIC: 350%

Il y a aussi ces prêts

  • Hyperloans, 100 dollars, 14 jours, 360%
  • Duperloands, 200 dollars, 15 jours, 400%

Ma question est:

  • Est-il possible de faire une boucle à travers un tableau multidimensionnel à partir du second tableau avec pour chacun en PHP ou devrais-je le faire d'une autre manière?

C'est ce que je fais maintenant pour parcourir les résultats.

foreach($db_results as $row) 
{ 
    print $row[1]; 
    print $row[2]; 
} 

Répondre

0

Merci pour e Le conseil Je ne sais pas pourquoi j'étais si coincé avec le foreach. Je fini par utiliser une boucle for comme ceci:

// Show only the first five results, start from the second 
for($row=1;$row<min(6,count($db_results));$row++) 
    { 
     print $db_results[$row][1]; 
    } 

Ce que je l'ai fait ici était de commencer la deuxième rangée (index 1) et boucle jusqu'à cinq résultats ou tous les autres résultats ont été bouclées. Je ne suis pas totalement satisfait de la lisibilité de ma boucle (montrant le numéro 6 dans le code lorsque je boucle 5 résultats), mais cela devra suffire pour le moment.

0

Je dirais tout simplement faire un si la condition pour le premier article

foreach ($ db_results comme $ k => $ row) if ($ k == 0) {// Format cette manière

} else {// le format d'une autre façon }

}

Questions connexes