[RESOLU] pb foreach

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] pb foreach

Re: pb foreach

par Aureusms » 02 avr. 2017, 23:13

Ce que veut dire or 1, c'est que tu dois d'abord "dés-empiler" le résultat de ta requête.
Les requêtes sont rendues comme une sorte de pile de résultats qui sont données une par une. Il faut donc que tu lises chaque pile ou que tu stockes chaque pile dans une variable.
//recherche des produits.
$result = $mysqli->query('SELECT produit_nom,produit_prix FROM produits')
while ($row = $result -> fetch_array()) :
    echo var_dump($row);
    //place dans un tableau
    $produit [$row['produit_nom']] = $row['produit_prix'];
endwhile;
Tu pourras ensuite afficher ta variable en format tableau $produit avec foreach.
?>
<div>
<ul><?php foreach ($produit as $cle => $val): ?>
<li><?php echo $cle. ' - ' .$val. '€'; ?></li>
</ul>
<?php endforeach ?>
</div>
Tu peux aussi gérer l'affichage à l'intérieur du while.

Re: pb foreach

par or 1 » 02 avr. 2017, 22:24

http://php.net/manual/fr/mysqli-result.fetch-array.php
"mysqli_result::fetch_array -- mysqli_fetch_array — Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux"
cela ne retourne qu'une seule ligne de résultats et pas toutes.

pb foreach

par quattro » 02 avr. 2017, 22:13

Bonjour
Voici mon code :

Code : Tout sélectionner

//connexion BDD. require('../inc_/inc_connexion.php'); //recherche des produits. $result = $mysqli->query('SELECT produit_nom,produit_prix FROM produits') $row = $result -> fetch_array(); echo var_dump($row); //place dans un tableau $produit [$row['produit_nom']] = $row['produit_prix']; ?> <div> <ul><?php foreach ($produit as $cle => $val): ?> <li><?php echo $cle. ' - ' .$val. '€'; ?></li> </ul> <?php endforeach ?> </div>
je voudrais afficher dans ma liste, toutes les valeurs(foreach).
Mais là, il ne m'affiche que la première valeur??
Alors qu'il y en a une bonne dizaine ??