Debe ser bastante básico, pero no puedo conseguir que funcione. Tengo este código para iterar sobre un mysqli consulta:

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

Funciona y devuelve:

Variable #1: (Array de 3 elementos) ↵
0 (String): «4testtest» (9 caracteres)
1 (String): «1Hello mundo!Bienvenido a WordPress. Este es su primer post. Edítala o bórrala, ¡y comienza a publicar!» (99 caracteres)
2 (String): «2Sample PageThis es una página de ejemplo. Es diferente a una entrada de un blog porque va a permanecer en un lugar y se mostrará en
la navegación del sitio (en la mayoría de los temas).» (161 caracteres)

El problema es que pone a los tres columnas en una sola columna, por lo que no puedo acceder a ellos seperatly.

Este por ejemplo:

0 (String): «4testtest» (9 caracteres)

Deben ser separados en 4, prueba, prueba

Cuando hago esto:

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'];  
}   

Sólo salidas 1 fila en lugar de los tres …

Cualquier ayuda es muy apreciada!

¿Cómo estás «impresión» en la segunda opción yo intentamos?
<?php foreach ($posts as $post): ?> <?php echo $post_id; ?> <?php echo $post_title; ?> <?php echo $type; ?> <?php echo $author; ?> <?php endforeach; ?>
También se echa de procedimiento bucle while ejemplo en php.net/manual/en/mysqli-result.fetch-assoc.php y php.net/manual/en/mysqli-result.fetch-array.php

OriginalEl autor Sebastian | 2013-01-22

6 Comentarios

  1. 18

    Obtener todos los valores de MySQL:

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

    Después, para cada valor:

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

    A hacerse eco de los valores. O de llegar a cada elemento de la $variable post

    Aunque el código es más cercano a uno, que realmente necesita para ser más consistente en el nombramiento de…
    De hecho fue un error ortográfico

    OriginalEl autor Ricardo Ortega Magaña

  2. 3

    Creo que esta sería una más simple forma de transmitir sus resultados.

    Lo siento por usar mis propios datos deben ser fáciles de reemplazar .

    $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>";
        }

    Esta sería la salida :

    • ID Título
    • -1 Gary
    • -2 Juan
    • -3 Michaels

    OriginalEl autor 05beckga

  3. 2

    Esta fue la solución.

    $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++;
    }

    OriginalEl autor Bogdan Lozyak

  4. -1

    Tanto le funciona a la perfección en mysqli_fetch_array en bucles while

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

    (O)

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

    mysqli_fetch_array() – tiene segundo argumento $resulttype.

    MYSQLI_ASSOC: Fetch array asociativo

    MYSQLI_NUM: Fetch array numérico

    MYSQLI_BOTH: Fetch tanto asociativos y numéricos de la matriz.

    Es tiempo real ejemplo y está funcionando perfectamente para arriba mencionado código, entonces ¿por qué se le da negativa la calificación. Si usted utiliza código de arriba y nada falla significa simplemente me informaron, esta es la razón y dio negativo.

    OriginalEl autor Elangovan

  5. -2

    Intente esto :

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

    OriginalEl autor Fero

  6. -3

    Probar esto…

    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    Esto no proporciona una respuesta a la pregunta. Para la crítica o la solicitud de aclaración de un autor, deja un comentario debajo de su post – siempre se puede comentar en tu blog, y una vez que usted tiene suficiente la reputación usted será capaz de comentario en cualquier post.
    Se ve como una respuesta a mí? No se si es correcto o no, pero eso no es importante para la revisión.

    OriginalEl autor Pepito Rosales

Dejar respuesta

Please enter your comment!
Please enter your name here