foreach ou for()
Posté : 27 mai 2010, 11:20
<foreach> || for() {
echo "Help..";
}
...
Bonjour / Bonsoir,
dans le but de créer un catalogue de produits dynamique ( qui se met à jour tout seul lorsqu'une nouvelle entrée est ajoutée à la bdd ), avec upload d'image et de contenu texte dans plusieurs colonnes, j'ai tenté de faire d'abord à ma sauce avec une simple boucle for( $i=1, $i < $table_total, $i++), je rentre pas maintenant dans les détails de celle ci, mais en gros j'ai constaté que ça marchait pour afficher les contenus mais que la boucle était bizarrement pas très dynamique ( une entrée invisible ou bugguée sur le site, et une image d'index 0 dans le dossier d'uploaded..)
On m'a conseillé par la suite d'utiliser <foreach> que je ne connaissais pas du tout avant et qu'il me semble avoir plus ou moins compris le principe, vous en jugerez de mes commentaires dans le code.
Voila ce que j'ai fais pour le moment :
Et il ne semble pas y avoir d'entrée "fantôme" comme avec l'autre méthode.
J'essaye en fait d'injecter dans les divs la valeur de chaque colonne, afin de pouvoir les éditer séparément avec des styles. Et j'ai pour le moment en message d'erreur : "Notice: Undefined variable: image", "Notice: Undefined variable: nom", etc.
Quelqu'un connaîtrait t'il mieux cette méthode foreach pour faire cela ?
echo "Help..";
}
...
Bonjour / Bonsoir,
dans le but de créer un catalogue de produits dynamique ( qui se met à jour tout seul lorsqu'une nouvelle entrée est ajoutée à la bdd ), avec upload d'image et de contenu texte dans plusieurs colonnes, j'ai tenté de faire d'abord à ma sauce avec une simple boucle for( $i=1, $i < $table_total, $i++), je rentre pas maintenant dans les détails de celle ci, mais en gros j'ai constaté que ça marchait pour afficher les contenus mais que la boucle était bizarrement pas très dynamique ( une entrée invisible ou bugguée sur le site, et une image d'index 0 dans le dossier d'uploaded..)
On m'a conseillé par la suite d'utiliser <foreach> que je ne connaissais pas du tout avant et qu'il me semble avoir plus ou moins compris le principe, vous en jugerez de mes commentaires dans le code.
Voila ce que j'ai fais pour le moment :
<?php
$connexion = mysql_connect("localhost", "dauvergnej", "dauvergnej");
$selection_bd = mysql_select_db("web_laboisseraie", $connexion);
//METHODE FOREACH
//SELECTION DU NOMBRE TOTAL D'ENTREES DANS LA TABLE CATALOGUE => BOUCLE
$tab_nb_total = mysql_query("SELECT COUNT(*) FROM catalogue_cdc");
for ($i=1; $i < $tab_nb_total; $i++){
// SELECTION DE TOUTES LES ENTREES DE LA TABLE CATALOGUE PAR ORDRE DE DATE D'AJOUT DECROISSANT
$sql = "SELECT * FROM `catalogue_cdc` WHERE catalogue_cdc='$i' ORDER BY `catalogue_cdc` DESC";
$tab_row_requete = mysql_query($sql) or die(mysql_error($connexion));
// GENERE UNE LIGNE DE TABLEAU ASSOCIATIF A PARTIR DE $tab_row_requete
while($row=mysql_fetch_assoc($tab_row_requete)){
foreach($row as $key=>$value); // ASSIGNE VALEUR $value DE CHAQUE ENTREE A CHAQUE INDEX $key
echo '</br>';
print_r($row);
echo '</br>';
echo "<div>
<div>
$image.$i
</div>
<div>
$nom.'$i'
</div>
<div>
$appellation.'$i'
</div>
<div>
$millesime.'$i'
</div>
<div>
$description.'$i'
</div>
</div>";
}
}
?>
Il me semble bien que l'association des valeurs dans le tableau fonctionne car print_r() me retourne cela :
Code : Tout sélectionner
Array ( [catalogue_cdc] => 1 [nom] => Elixir de Joÿ [appellation] => Joÿ [millesime] => 2002 [description] => (bla bla bla..) [image] => etq_elixir_joy.JPG ) Code : Tout sélectionner
Array ( [catalogue_cdc] => 2 [nom] => Esprit de Joÿ [appellation] => Côtes de Gascogne [millesime] => 2002 [description] => (bla bla bla) [image] => etq_esprit_joy.JPG ) Code : Tout sélectionner
Array ( [catalogue_cdc] => 3 [nom] => Domaine du Givaudan [appellation] => Côtes du Rhone [millesime] => 2008 [description] => (bla bla bla) [image] => givaudan.JPG ) J'essaye en fait d'injecter dans les divs la valeur de chaque colonne, afin de pouvoir les éditer séparément avec des styles. Et j'ai pour le moment en message d'erreur : "Notice: Undefined variable: image", "Notice: Undefined variable: nom", etc.
Quelqu'un connaîtrait t'il mieux cette méthode foreach pour faire cela ?