Tengo debajo de DIV en html

<div class="result1" id="result1" name="result1"  >
    <table>
        <tr>
             <th> Date</th>
             <th> Bank</th>
             <th> Type</th>
             <th> Income Category</th>
             <th> Expense Category</th>
             <th> Expense Sub Category</th>
             <th> Amount</th>
        </tr>
        <?php echo $out; ?>
    </table>
</div>  

Y estoy tratando de mostrar la salida del bucle PHP debajo de result1

while($row = $result ->fetch_assoc()) {
    $out = "<tr>
        <td>".$row["date"]."</td>
        <td>".$row["select_bank"]."</td>
        <td>".$row["entry_type"]."</td>
        <td>".$row["income_cat"]."</td>
        <td>".$row["expense_cat"]."</td>
        <td>".$row["expense_cat_sub"]."</td>
        <td>".$row["amount"]."</td>
    </tr>";
}

El problema es que obtengo solo la última fila del bucle dentro de HTML, no todos.

Intenté el siguiente método para hacer eco de la identificación div a través de php:

echo "<div class=\"output1\">$out</div>";

El problema con el método anterior es que la salida se muestra en la parte superior de la página, no dentro de output1 div. Me gustaría mostrar el resultado dentro de output1 en la ubicación correcta. ¿Cómo puedo lograrlo?

-4
acr 16 oct. 2018 a las 17:54

2 respuestas

La mejor respuesta

Está sobrescribiendo continuamente el valor de $ out, así que configúrelo en blanco para comenzar y agréguelo (usando .=) en cada ciclo ...

$out = "";
while($row = $result ->fetch_assoc()){
    $out .= "<tr><td>".$row["date"]."</td><td>".$row["select_bank"]."</td><td>".$row["entry_type"]."</td><td>".$row["income_cat"]."</td><td>".$row["expense_cat"]."</td><td>".$row["expense_cat_sub"]."</td><td>".$row["amount"]."</td></tr>";
}

También acabo de notar que es posible que también necesite las etiquetas <table> alrededor del contenido dentro de <div>

9
Nigel Ren 16 oct. 2018 a las 14:59

También puede probar algo como esto para una mejor legibilidad del código

<?php while($row = $result ->fetch_assoc()) { ?>
    <tr>
        <td><?php echo $row["date"]; ?></td>
        <td><?php echo $row["select_bank"]; ?></td>
        <td><?php echo $row["entry_type"]; ?></td>
        <td><?php echo $row["income_cat"]; ?></td>
        <td><?php echo $row["expense_cat"]; ?></td>
        <td><?php echo $row["expense_cat_sub"]; ?></td>
        <td><?php echo $row["amount"]; ?></td>
    </tr>
<?php }; ?>
1
Weber 16 oct. 2018 a las 15:56