begin process at 2012 05 31 06:52:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

problème avec une boucle for each


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème avec une boucle for each

mardi 29 juin 2010 à 14:33:39 | problème avec une boucle for each

ViNCiNTO


Bonjour à tous, j'essaye d'afficher les éléments d'un tableau avec une boucle for each mais cela m'affiche 5 fois (il y a 5 produits dans ma table) le même élément :

********************* CODE *************************
<?
// Include : Chemins virtuels du site //
require_once("/home/site/www/inc/config.inc.php");

$produits = new produits ($connection);
$result = $produits->getProduits1();

if (sizeof($result) > 0) {

foreach ($result as $key => $val) {

echo "Nom : ".$val->field("prod_NomProduit")." - Poids : ".$val->field("prod_PoidsProduit")."<br/>";

}
} else {echo "Aucun produit" ;}
?>

********************* RÉSULTAT *************************
Nom : produit numéro1 - Poids : 100grammes
Nom : produit numéro1 - Poids : 100grammes
Nom : produit numéro1 - Poids : 100grammes
Nom : produit numéro1 - Poids : 100grammes
Nom : produit numéro1 - Poids : 100grammes

Merci d'avance...
mardi 29 juin 2010 à 14:49:05 | Re : problème avec une boucle for each

chino18


Salut.

Si tu fais
Code PHP :
print_r($result);


Ca t'affiches quoi?

-- message approuvé par Jean-Claude Van Damme --
mardi 29 juin 2010 à 21:37:52 | Re : problème avec une boucle for each

ViNCiNTO

Ca me donne ça :

Array (

[1006] => navigation Object (

[tbl_ligne] => Array (

[0] => 21
[prod_idProduit] => 21
[1] => produit numéro1
[prod_NomProduit] => produit numéro1
[2] => 100grammes
[prod_PoidsProduit] => 100grammes

)
[rang] => 37
[result] => Resource id #21
[tabResult] => [EOF] => 1 [BOF] => 1 [count] => 37 [erreur_n] => 0 [erreur] => Fin de jeu d'enregistrements atteintes. )

[21] => navigation Object ( [tbl_ligne] => Array (

[0] => 21
[prod_idProduit] => 21
[1] => produit numéro1
[prod_NomProduit] => produit numéro1
[2] => 100grammes
[prod_PoidsProduit] => 100grammes

)
[rang] => 37
[result] => Resource id #21
[tabResult] => [EOF] => 1 [BOF] => 1 [count] => 37 [erreur_n] => 0 [erreur] => Fin de jeu d'enregistrements atteintes. )


) ------------
1
jeudi 1 juillet 2010 à 08:39:04 | Re : problème avec une boucle for each

chino18


D'accord.

Donc c'est ton tableau qui ne va pas.

Je supposes que derrière $produits->getProduits1(), il y a une requête qui va te chercher une liste de produits en base.

Fais un "echo" sur cette requête, passes-la dans l'éditeur de requête SQL, et vérifie si le résultat retouné te semble correct.
En tout cas, ça ressemble à un problème de jointure qui ferait que ta requête te sort des doublons.

A+

-- message approuvé par Jean-Claude Van Damme --
jeudi 1 juillet 2010 à 19:21:32 | Re : problème avec une boucle for each

ViNCiNTO

En fait, j'ai créé une classe produits. La fonction produits me récupère tous les produits grâce à une requête sql, et la fonction getProduits1 me permet de ne sélectionner que les produits de type 1. Ma requête sql ($sql) est valide (elle m'affiche bien tous les produits) mais quand je veux trier mes produits par type (getProduits1) ça ne me marche plus. Si je tape ma requête sql en ajoutant une condition AND prod_TypeProduit=1, ça marche, donc ça doit venir de ma fonction getProduits1 mais je ne comprends pas le problème... Merci encore!

class produits {

var $connect ;
var $erreur_n ;
var $erreur ;
var $produitsbdd ;

function produits ($connection) {
// Constructeur de la classe produits
$this->connect = $connection ;

$sql = "SELECT prod_idProduit, prod_NomProduit, prod_PoidsProduit, prod_TypeProduit, prpd_ValeurTTCPrixProduit FROM pro_produits, pro_prix_produits
WHERE prpd_fkProduit=prod_idProduit ORDER BY prod_NomProduit" ;

if ($this->connect->execute ("produits", 1, $sql) == 0) {
$this->erreur_n = 0 ;
$this->erreur = mysql_errno()." : ".mysql_error()."<br />" ;
echo $this->erreur ;
}

$this->produitsbdd = $this->connect->liste_req["produits"];
}


function getProduits () {
// Recupere tous les produits presents dans la BDD
return ($this->produitsbdd);
}


function getProduits1 () {
// Recupere les produits1 seulements
$liste = $this->produitsbdd ;
while (!$liste->EOF) {
if ($liste->field("prod_TypeProduit") == 1) {
$Produits1[$liste->field("prod_idProduit")] = $liste ;
}
$liste->moveNext() ;
}
if (isset($Produits1)){ return ($Produits1);}
}


}




Cette discussion est classée dans : boucle, produit, poids, numéro1, 100grammes


Répondre à ce message

Sujets en rapport avec ce message

Récupération de données d'un formulaire [ par ArnaudT62 ] Bonjour, Voilà je veux créer un catalogue de produit avec envoie par la suite. Dans un premier temps on choisit le produit avec la quantité, pour cela qui peut corriger mon code php [ par hwm86 ] Posté le 31/03/2009 à 16:46 <a href="http://www.vulgarisation- liste dynamique [ par nikimatrix ] bonjour, en sachant que je suis débutan dans le code sql,, ;;; je jvoudrais afficher mes produit avec le prix par category , exemple :: Boitier , b problemes ac les formulaires [ par mounal ] Bonjourbin je suis débutante en PHP5,j'essaye de creer un site d'achat de produits cosmétiques,alors jai crée ma classe caddie avec les fonctions nece Recuperation des données [ par ouzb ] Bonjour je voudrais recupéré des valeurs par l'intermedaire des sessions. Mon souci est de vouloir creer des factures en pdf par rapport aux familles calculer le poids d'un mot d'une chaine en php [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai une chaine de caracté probleme boucle while + a href [ par suethi75 ] Bonjour,Je construis un site de bijoux. J'utilise deux formulaires. Il y a un formulaire qui possède tous les bijoux suivant des critères, ce formulai suivre l'execution et l'affichage d'une boucle en temps réel [ par onico0 ] Bonjour, Je créer une petite page d'envoi de mails à ma base de données. Donc ça donne un truc genre : Code : PHP< afficher par order ddecroissant [ par hadjiphp ] Bonjour, j'ai une question : j'ai ce code qui permet de calculer pour chaque URL le poids de ces termes et l'afficher. voila code : <?php $somme = $_POST et Boucle [ par CrazyShooter ] Bonjour, J'aimerai récupérer mes variables $_POST en passant par une boucle, voici mon code : dans le code HTML pour set les noms des inputs:


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales