Bonjour tout le monde,
voila cela fait 2 semaines que je suis sur la même fonction et je n'ai toujours pas réussi à résoudre mon problème seulement je suis en stage et je termine vendredi et si je n'arrive pas à me débloquer je ne pourrai pas finir mon projet et cela me gêne énormément :
Ci dessus voici ma fonction, ma première requête me permet de sélectionner un code (ou un id si vous préférez, ici je récupère LES 8 DERNIERS ID CREES) ensuite je récupère les données dans un array_assoc ma deuxième requête fait un update dans une table en fonction des id que je récupère.Code:
1
2
3
4
5
6
7
8 function modifier_produit_prestashop2($key, $number = 8){ $sql = mysql_query("SELECT(LAST_INSERT_ID( id_product )) FROM ps_product LIMIT $number"); while($r = mysql_fetch_assoc($sql)){ foreach($r as $key2){ $sql2 = mysql_query("update ps_product_lang set description = '".$key."' where id_product = '" .$key2. "'"); } } }
J'ai remplacé la variable $key dans le nom du champ name par un nom bidon (pour exemple j'ai mis pouet), en effectuant ma requête il m'a inséré le mot pouet pour les derniers id récupérés. (soit les 8 derniers)
preuve que mon update fonctionne bien dans le principe, seulement quand j'appelle ma fonction grâce à ceci :
Je passe le $key en paramètre dans ma fonction, il est censé contenir les données de mon tableau $output5 et de les insérer dans la colonne nom, mais il ne prend que la dernière valeur de mon tableau et l'insère pour les huit derniers id (normal car il est définit que cela modifie ma table pour les derniers id créés soit les 8 derniers). Pour simplifier il insère toto sur les 8 dernières lignes, alors que mon tableau contient titi, tata, tutu, toto etc... et je voudrai qu'il les insère tous en fonction de l'id donc si je résume l'insertion en fonction du numéro ça fonctionne car en faisant un test bidon il passe le nom, le seul truc qui cloche c'est le nom contenu dans mon array qui ne veut pas passer correctement.Code:
1
2
3
4 $output5 = array_slice($produit , 2); $output5 = array_filter($output5); foreach($output5 as $key){ modifier_produit_prestashop($key);}