2010-07-12 5 views
0

Comment puis-je faire un tableau comme ci-dessous à travers une boucle? Le texte sera généré à partir de la base de données!Faire un tableau multidimensionnel à travers la boucle!

$listofimages = array(
     array( 'titre' => 'PHP', 
       'texte' => 'PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts (...)', 
       'image' => './images/php.gif' 
     ), 
     array( 'titre' => 'MySQL', 
       'texte' => 'MySQL est un système de gestion de base de données (SGDB). Selon le (...)', 
       'image' => './images/mysql.gif' 
     ), 
     array( 'titre' => 'Apache', 
       'texte' => 'Apache HTTP Server, souvent appelé Apache, est un logiciel de serveur (...)', 
       'image' => './images/apache.gif' 
     ) 
    ); 
+0

s'il vous plaît fournir les informations que vous avez lues à partir de la base de données – Thariama

Répondre

0

Quelque chose comme:

$listofimages = array(); 

foreach ($rowset as $row) { 

    $listofimages[] = array(
     'titre' => $row['titre'], 
     'texte' => $row['texte'], 
     'image' => $row['image'] 
    ); 

} 

?

-1
foreach ($listofimages as $image) { 
    echo '<img src="'.$image['image'].'" />'; 
} 
+0

cela ne répond même pas à la question de l'OP – Starx

+0

Il semble que je mal interprété la question " Comment puis-je faire un tableau comme ci-dessous passer par une boucle? " – Sjoerd

1

ce faire quelque chose comme,

$result = mysql_query("SELECT * FROM table;"); 
while($row = mysql_fetch_assoc($result) { 
    //$row will hold all the fields's value in an array 
    $mymainarray[] = $row; //hold your array into another array 
} 

//To display 
echo "<pre>"; 
print_r($mymainarray); 
echo "</pre>"; 
0

Si vous ne sélectionnez les champs titre, texte et image dans votre requête, il est juste (en supposant MySQL):

$listofimages = array(); 

$result = mysql_query("SELECT titre, texte, image FROM table"); 

while((row = mysql_fetch_assoc($result))) { 
    $listofimages[] = $row; 
} 

mysql_fetch_assoc() va chercher les résultats dans un associatif tableau.

+0

Donc, ma question est aussi downvoted parce qu'elle est très similaire à d'autres? C'est ridicule ... –

0

Disons que vous avez fait une requête et obtenir un identifiant de résultat:

$result = mysql_query("SELECT * FROM table;"); 

Maintenant vous pouvez obtenir toutes les lignes comme un tableau en utilisant mysql_fetch_assoc($result). Maintenant juste faire un tableau final et ajouter tous ces tableaux à lui:

$final_array = array(); 
while($row = mysql_fetch_assoc($result) !== false) { 
    $final_array[] = $row; 
} 

print_r($final_array); 
+0

c'est une copie identique de ma réponse sauf pour l'utilisation de mysql_fetch_assoc ($ result); – Starx

+0

@Starx: Votre réponse est fausse (ou du moins pas 100% correcte;)). Si vous utilisez 'mysql_fetch_array', alors vous obtenez les lignes comme tableau numérique associatif ** et **. Par conséquent, chaque colonne est contenue deux fois dans le tableau. –

+0

+1 pour compenser downvote. –

0
$mult_array = array(); 

$result = mysql_query("SELECT col1,col2,... FROM table"); 

if(mysql_num_rows($result)>0){ 
    while((row = mysql_fetch_assoc($result)) { 
     $mult_array[] = $row; 
    } 
} 

// if u want to pick some specific cols from data selected from database then- 



if(mysql_num_rows($result)>0){ 
$temp_arr = array(); 
    while((row = mysql_fetch_assoc($result)) { 
     $temp_arr['col1'] = $row['col1']; 
     $temp_arr['col2'] = $row['col2']; 
     //... so on 
     $mult_array[] = $temp_arr; 
    } 
} 
Questions connexes