Je veux afficher l'image avec le texte et récupérer de la base de données en utilisant php voici le code

<table id = "menu-container" border = "2">
    <caption>Main Dish<caption>
    <tr>
    <?php
        if($result->num_rows > 0) 
        {                                   
            while($row = $result->fetch_assoc()) 
            {                                               
    ?>                    
            <td class = "wrapword">

                <img src = "data:image/jpeg; base64 , <?php echo base64_encode($row['product_image']); ?>"
                height = "290" width = "350">
                <br>
                &nbsp;Name: <?php echo $row['product_name']; ?>
                <br>
                &nbsp;Price: Php<?php echo $row['product_price']; ?> 
                <label id = "add-to-list">Add to list</label>

            </td>

    <?php
            }
        }
        else
        {
            echo "No Menu Found";
        }
    ?> 
    </tr>
</table>

enter image description here

Et voici l'image ou la sortie de ce code je veux faire une nouvelle ligne lorsque la ligne du tableau à l'intérieur lorsque les données du tableau ont dépassé la limite de 4 et les autres données iront en bas ou créer une nouvelle ligne est-ce possible? J'espère que mon explication est claire.

0
unknown 9 mars 2016 à 16:54

3 réponses

Meilleure réponse

C'est essentiellement ce à quoi Munawir essayait d'arriver. Il a un compteur simple qui est vérifié s'il est divisible par 4, sans avoir de reste. Si c'est le cas, une nouvelle ligne est démarrée. Sinon, restez sur la ligne actuelle.

if($result->num_rows > 0) 
    {            
        $c = 0;                       
        while($row = $result->fetch_assoc()) {
            // If it's not divisible by 4 without remainder - Same Row
            if(!($c % 4 == 0)){ 
                // echo <td> content
            } else {
                echo "</tr>"; //Close last row
                echo "<tr>"; //Open new row
                // echo <td> content
            }
            $c++;
        }
    } else {
        //...
    } ?>

    </tr> <!-- End last row -->
</table>

Modifier

La solution pourrait même être raccourcie en:

while($row = $result->fetch_assoc()) {
    if($c % 4 == 0){ 
        echo "</tr><tr>";
    }

    // echo <td> content

    $c++;
}
2
ImClarky 9 mars 2016 à 15:02
<table id = "menu-container" border = "2">
    <caption>Main Dish<caption>
    <tr>
    <?php
        if($result->num_rows > 0) 
        {            
            $i=0;
            while($row = $result->fetch_assoc()) 
            {        
    ?>                    
            <td class = "wrapword">

                <img src = "data:image/jpeg; base64 , <?php echo base64_encode($row['product_image']); ?>"
                height = "290" width = "350">
                <br>
                &nbsp;Name: <?php echo $row['product_name']; ?>
                <br>
                &nbsp;Price: Php<?php echo $row['product_price']; ?> 
                <label id = "add-to-list">Add to list</label>

            </td>

    <?php
            $i++;
		    if($i%4==0 && $i<$result->num_rows) echo '</tr><tr>';
            }
        }
        else
        {
            echo "No Menu Found";
        }
    ?> 
    </tr>
</table>
1
vqianduan 9 mars 2016 à 14:44

Vous avez besoin d'une variable où vous compterez le nombre d'articles déjà collectés. si cette variable est égale à 4 dans votre cas, vous devez vider la variable de collecte et collecter à nouveau

<table id = "menu-container" border = "2">
    <caption>Main Dish<caption>

    <?php
    $html="";
    $i=1;
        if($result->num_rows > 0) 
        {                                   
            while($row = $result->fetch_assoc()) 
            {                                               
                $html .= ' <td class = "wrapword">
                    <img src = "dat[![enter image description here][1]][1]a:image/jpeg; base64 , '.base64_encode($row['product_image']).'" height = "290" width = "350">
                    <br>
                    &nbsp;Name: '.$row['product_name'];.'<br>
                    &nbsp;Price: Php '.$row['product_price'].'<label id = "add-to-list">Add to list</label>

                </td>';

                if($i==4){
                    echo $html = '<tr>'.$html.'<tr>';
                    $html="";
                    $i=1;
                }
                $i++;
            }
        }
        else
        {
            echo "No Menu Found";
        }
    ?> 
</table>
1
LightNight 9 mars 2016 à 14:18