web-dev-qa-db-fra.com

mysqli_fetch_array avec les colonnes de boucles

Ça devrait être simple, mais je ne peux pas le faire fonctionner. J'ai ce code à parcourir sur une requête mysqli:

while($row = mysqli_fetch_array($result)) {
    $posts[] = $row['post_id'].$row['post_title'].$row['content'];
}

Cela fonctionne et retourne:

Variable # 1: (Tableau, 3 éléments) ↵ 0 (Chaîne): "4testtest" (9 caractères) 1 (Chaîne): "1Bon monde! Bienvenue dans WordPress. C'est votre première éditez ou supprimez-le, puis lancez la création de blogs! " (99 caractères) 2 (String): "2Sample Page Ceci est une page d'exemple. Elle est différente d'un article de blog car elle restera au même endroit et apparaîtra dans La navigation de votre site (en la plupart des thèmes). " (161 caractères)

Le problème est que les trois colonnes sont regroupées dans une seule colonne, je ne peux donc pas y accéder séparément. 

Ceci par exemple: 

0 (String): "4testtest" (9 characters)

Devrait être séparé en 4, test, test

Quand je fais ça:

while($row = mysqli_fetch_array($result)) {             
    $posts['post_id'] = $row['post_id'];
    $posts['post_title'] = $row['post_title'];
    $posts['type'] = $row['type'];
    $posts['author'] = $row['author'];  
}   

Il ne sort qu'une rangée au lieu des trois…

Toute aide est grandement appréciée!

4
Sebastian

Obtenez toutes les valeurs de MySQL:

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

Ensuite, pour obtenir chaque valeur:

<?php 
     foreach ($posts as $row) 
        { 
            foreach ($row as $element)
            {
                echo $element."<br>";
            }
        }
?>

Pour faire écho aux valeurs. Ou obtenez chaque élément de la variable $ post

17

Je pense que ce serait un moyen plus simple de produire vos résultats.

Désolé pour utiliser mes propres données devrait être facile à remplacer.

$query = "SELECT * FROM category ";

$result = mysqli_query($connection, $query);


    while($row = mysqli_fetch_assoc($result))
    {
        $cat_id = $row['cat_id'];
        $cat_title = $row['cat_title'];

        echo $cat_id . " " . $cat_title  ."<br>";
    }

Cela donnerait:

  • - Titre de l'ID  
  • -1 Gary
  • -2 John
  • -3 Michaels
3
05beckga

Celui-ci était votre solution.

$x = 0;
while($row = mysqli_fetch_array($result)) {             
    $posts[$x]['post_id'] = $row['post_id'];
    $posts[$x]['post_title'] = $row['post_title'];
    $posts[$x]['type'] = $row['type'];
    $posts[$x]['author'] = $row['author'];
    $x++;
}
2
Bogdan Lozyak