Сделайте многомерный массив через цикл! - PullRequest
0 голосов
/ 12 июля 2010

Как я могу сделать массив, как показано ниже, через цикл? Текст будет сгенерирован из базы данных!

 $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'
        )
    );

Ответы [ 6 ]

1 голос
/ 12 июля 2010

сделать что-то вроде этого,

<code>$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 "
";
0 голосов
/ 12 июля 2010
$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;
  }
}
0 голосов
/ 12 июля 2010

Допустим, вы выполнили запрос и получили идентификатор результата:

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

Теперь вы можете получить каждую строку в виде массива с помощью mysql_fetch_assoc($result).Теперь просто создайте окончательный массив и добавьте в него все эти массивы:

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

print_r($final_array);
0 голосов
/ 12 июля 2010

Что-то вроде:

$listofimages = array();

foreach ( $rowset as $row ) {

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

}

?

0 голосов
/ 12 июля 2010

Если в запросе вы выбираете только поля titre, texte и image, то это просто (при условии MySQL):

$listofimages = array();

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

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

mysql_fetch_assoc() получит результаты в ассоциативном массиве.

0 голосов
/ 12 июля 2010
foreach ($listofimages as $image) {
    echo '<img src="'.$image['image'].'" />';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...