2013-10-05 3 views
-1

requête MySql me retourne un tableau multidimensionnel:Passage tableau multiple de dimension en PHP

function d4g_get_contributions_info($profile_id) 
{ 
    $query = "select * from contributions where `project_id` = $profile_id"; 
    $row = mysql_query($query) or die("Error getting profile information , Reason : " . mysql_error()); 
    $contributions = array(); 
    if(!mysql_num_rows($row)) echo "No Contributors"; 

    while($fetched = mysql_fetch_array($row, MYSQL_ASSOC)) 
    { 
     $contributions[$cnt]['user_id'] = $fetched['user_id']; 
     $contributions[$cnt]['ammount'] = $fetched['ammount']; 
     $contributions[$cnt]['date'] = $fetched['date']; 
     $cnt++; 
    } 
    return $contributions; 
} 

Maintenant je dois imprimer les valeurs dans la page où je l'avais appelé cette fonction. Comment je fais ça ?

+0

lecture au sujet foreach, et vous pouvez le faire dans un autre foreach foreach. –

+0

mamdouh alramadan, Pourriez-vous s'il vous plaît m'aider plus loin avec cela, j'ai essayé d'appliquer la boucle for_each imbriquée, mais sans progrès. – user2267386

+0

vous n'avez pas besoin d'assigner la valeur de $ cnt ++ = 0 en premier? –

Répondre

2

changer la fonction comme ceci:

while($fetched = mysql_fetch_array($row, MYSQL_ASSOC)) 
{ 
$contributions[] = array('user_id' => $fetched['user_id'], 
          'ammount' => $fetched['ammount'], 
          'date' => $fetched['date']); 

} 

return $contributions; 

Ensuite, essayez ci-dessous:

$profile_id = 1; // sample id 
$result = d4g_get_contributions_info($profile_id); 
foreach($result as $row){ 
    $user_id = $row['user_id'] 
    // Continue like this 
} 
Questions connexes